选择之前的TreeNode(java swing,tree)
我正在寻找一种方法,在单击按钮时,在实际选择的节点(如果未选择任何节点,则应选择根节点后的第一个节点)之前选择TreeNode。我基本上有一个哈希表ht和一个充满节点的JTree(所有节点都允许子节点)。 单击一个节点后,我想在哈希表中查找该对象,系统应该编写类似“您选择了‘Object.name’”的内容。然后,用户应该能够单击JButton并在单击的节点之前选择节点。当然,这一行也应该有一个更新的“Object.name”。也许甚至有一种方法可以更新树的GUI,从而使另一个树节点显示为选中 我已经用selectionModel和TreeNodes的treePath方法尝试了很长一段时间(例如,将它们保存在列表中并尝试在之前选择元素),但似乎没有任何效果。我也没有在Google或StackOverflow上找到任何有用的东西。我在想,它可能会以某种方式与DefaultMutableTreeNode中的getPreviousSibling方法一起工作 我最后一次尝试:选择之前的TreeNode(java swing,tree),java,swing,jtree,treenode,defaultmutabletreenode,Java,Swing,Jtree,Treenode,Defaultmutabletreenode,我正在寻找一种方法,在单击按钮时,在实际选择的节点(如果未选择任何节点,则应选择根节点后的第一个节点)之前选择TreeNode。我基本上有一个哈希表ht和一个充满节点的JTree(所有节点都允许子节点)。 单击一个节点后,我想在哈希表中查找该对象,系统应该编写类似“您选择了‘Object.name’”的内容。然后,用户应该能够单击JButton并在单击的节点之前选择节点。当然,这一行也应该有一个更新的“Object.name”。也许甚至有一种方法可以更新树的GUI,从而使另一个树节点显示为选中
DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode();
treeNode = (DefaultMutableTreeNode) getLastSelectedPathComponent();
setSelectionPath(new TreePath(((DefaultTreeModel) treeModel).getPathToRoot(treeNode.getPreviousSibling())));
不幸的是,我一直收到一个NullPointerException:
在这段代码的第2行中(尽管我之前选择了另一个TreeNode,但它之前有一个兄弟节点)
有谁能告诉我我做错了什么,或者告诉我其他什么方法可能有效D如果您需要更多信息,请不要问我。欢迎来到StackOverflow!某些用户无法跟踪图像的链接。如果您需要帮助,请使用上面的链接将代码直接复制到您的问题中。谢谢,现在编辑问题。