程序编译环境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个方法就能实现的功能 未必这么麻烦?
很不理解。
代码中的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个方法就能实现的功能 未必这么麻烦?
很不理解。
解决方案 »
- 原来exe4j只是在jar包外面装了一层壳,根本提升不了效率
- 如何实现点击一个窗口的按钮,弹出一个已有的另一个窗口啊?
- java能调用window下的exe,那么请教java要是想调用java写的一个shell里的命令,而且这个命令是带参数的,咋办?
- 请教大家一个date格式转换的问题
- 求助关于javac HelloWorld.java问题
- 大神求助,WritableRaster 类读入图片问题
- 在JFrame中能否通过一个事件来运行一个Applet。由于产生报表
- 谁有O'Reilly出的《Java Threads, 2nd Edition》的ebook?
- 请教各位,什么时候出的jdk1.4??哪里可以下载?
- jvm回收对象疑惑
- 关于java的基本概念
- 关于事务完整性的一个疑问,谢谢!
从当前选择中移除指定路径标识的节点。API帮助是这么说的
不理解2L所说的 请仔细一点好吗
removeSelectionPath意思是,你选中了某个或某几个节点来进行处理,但我处理时有个例外,不想处理path这个节点,那么就要将它取消选中,即从选中的集合中将其删除,这时可以用removeSelectionPath(path)来取消选中。也就是“ 从当前选择中移除指定路径标识的节点。”
DefaultMutableTreeNode dad = (DefaultMutableTreeNode) son.getParent();
dad.remove(son);
treeModel.nodeStructureChanged(dad);这样也可以达到ls几位说的效果.
一句才是关键啊,把树刷新了。