关于JTree节点删除一个疑问!期待完美解答!

ljava7150 2007-12-11 11:49:46
程序编译环境JBuilder2006
代码中的jTree1是JBuilder里面的默认树

Java code
public void btnDelete_actionPerformed(ActionEvent e)
{
TreePath path = jTree1.getSelectionPaths();
jTree1.removeSelectionPath(path);
}



此代码是一个删除按钮的事件 用来删除节点
其实这个题目一种方法我已经知道了 是利用 DefaultTreeModel 和 removeNodeFromParent();来进行删除工作
但是我在考虑这个问题的时候 首先就想到两个方法
1。找出我选择的节点
2。删除它
所以我在javax.swing.JTree类的方法中找到了2个这样的方法
TreePath getSelectionPath()
返回首选节点的路径。
void removeSelectionPath(TreePath path)
从当前选择中移除指定路径标识的节点。
很明显 满足我的要求 当下放进了我的删除按钮事件里面 (就是上面的代码)
但是当我选择了某节点时 按下删除按钮时候 并没有完成删除()过程中也无任何错误异常 )
随后用System.out.println(path);进行测试发现确实输出我选择的节点的路径

总结 : 难道真的是API在欺骗我吗?
确实使用了API指定的方法 但是确不能完成
一个好像只要2个方法就能实现的功能 未必这么麻烦?
很不理解。
...全文
323 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
daimojingdeyu 2007-12-12
  • 打赏
  • 举报
回复
removeSelectionPath是去选中的,不是删除节点的。如果要删除的话,要使用DefaultTreeModel中的removeNodeFromParent方法。
ljava7150 2007-12-12
  • 打赏
  • 举报
回复
void removeSelectionPath(TreePath path)
从当前选择中移除指定路径标识的节点。

API帮助是这么说的
不理解2L所说的 请仔细一点好吗
yuanyemars 2007-12-12
  • 打赏
  • 举报
回复
treeModel.nodeStructureChanged(dad);
一句才是关键啊,把树刷新了。
wunan320 2007-12-12
  • 打赏
  • 举报
回复
lz可以操作JTree.getSelectionPath().

DefaultMutableTreeNode son = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
DefaultMutableTreeNode dad = (DefaultMutableTreeNode) son.getParent();
dad.remove(son);
treeModel.nodeStructureChanged(dad);

这样也可以达到ls几位说的效果.
xiyuan1999 2007-12-12
  • 打赏
  • 举报
回复
Up
guoyueshan 2007-12-12
  • 打赏
  • 举报
回复
JTree是基于mvc模式的,删除节点只有通过模型,TreeModel来进行
removeSelectionPath意思是,你选中了某个或某几个节点来进行处理,但我处理时有个例外,不想处理path这个节点,那么就要将它取消选中,即从选中的集合中将其删除,这时可以用removeSelectionPath(path)来取消选中。也就是“ 从当前选择中移除指定路径标识的节点。”
内容概要:本文围绕基于电感电容电流环PI与前馈补偿矩阵构造的跟网型储能变流器,开展dq坐标系下的阻抗理论建模与Simulink仿真对比研究。通过建立储能变流器在dq域的数学模型,设计包含电感电流内环、电容电流中间环和电压外环的多环控制结构,并引入前馈补偿矩阵以提升系统的动态响应能力和稳定性。在此基础上,采用小信号分析法推导系统的输出阻抗模型,构建完整的dq域阻抗理论框架,并利用Simulink平台搭建高保真仿真模型进行频域扫频验证,实现理论建模与仿真结果的精确对比,深入分析控制参数对系统阻抗特性的影响规律,揭示其在抑制并网系统振荡、提升稳定性方面的关键作用,为新能源并网系统的稳定性分析与优化设计提供坚实的理论支撑和技术路径。; 适合人群:具备电力电子、自动控制理论基础,从事新能源发电、储能系统、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握跟网型储能变流器在dq域的阻抗建模方法;②理解多环控制与前馈补偿对系统阻抗特性的影响机制;③实现理论阻抗模型与Simulink仿真扫频结果的对比验证,支撑并网稳定性分析。; 阅读建议:学习者应结合控制理论与电力电子变换器知识,重点关注数学推导与仿真建模的一致性,建议动手复现Simulink仿真模型并进行参数敏感性分析,以深化对阻抗重塑机理的理解。
内容概要:本文介绍了基于Matlab实现的基本雷达与干扰机仿真系统,旨在通过代码实践帮助读者深入理解雷达系统的工作原理及其在复杂电磁环境中与干扰机的相互作用机制。内容涵盖雷达信号的发射、传播、目标回波接收、微多普勒效应建模、干扰信号的生成与影响分析等关键环节,结合具体的Matlab代码实现了完整的仿真流程,并提供了详尽的结果可视化与性能评估,重点展示了目标探测、时频特征提取、干扰抑制策略等关键技术的实现方法,有助于掌握雷达系统动态特性与抗干扰能力的分析手段。; 适合人群:具备一定Matlab编程基础,对雷达系统、信号处理、电子对抗或通信工程等领域感兴趣的高校学生、科研人员及工程技术人员。; 使用场景及目标:①学习雷达系统的基本构成与工作流程;②掌握雷达回波信号与典型干扰信号(如噪声干扰、欺骗干扰)的数学建模方法;③通过Matlab仿真深入理解微多普勒特征、时频分析技术(如STFT、小波变换)及干扰抑制算法;④为开展雷达目标识别、抗干扰算法设计或电子战系统仿真等前沿研究奠定实践基础。; 阅读建议:建议读者结合提供的Matlab代码逐段运行并调试,重点关注雷达信号模型、目标运动建模、干扰生成模块及信号处理流程,配合文中仿真结果进行对比分析;同时可延伸学习现代信号处理技术如压缩感知、机器学习在雷达中的应用,以提升综合科研与工程实践能力。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧