如何判断显示的JTree上突出显示哪些节点?

时间:2015-06-25 20:18:45

标签: java jtree

我正在开发一个显示JTree的应用。我希望用户能够突出显示某些节点​​,然后在按下按钮后对这些节点执行操作。

突出显示已经有效 - 他们可以点击内容,然后按住Shift键或控制点击突出显示其他内容。有没有办法检测以这种方式突出显示哪些节点?

谢谢!

2 个答案:

答案 0 :(得分:2)

如果我正确理解你,你想找到用户选择的所有树节点。见JTree.getSelectionPaths()Javadoc表示它返回

  

指示所选节点的TreePath对象数组,如果当前未选择任何节点,则返回null

每个TreePath

  

表示一个对象数组,用于唯一标识树中节点的路径。数组的元素按顺序排列,根作为数组的第一个元素

正如@MadProgrammer在注释中所述,数组中的最后一个对象是所选节点。

答案 1 :(得分:0)

您可以按如下方式创建TreeSelectionListener并使用e.paths中的TreeSelectionEvent

jTree.addTreeSelectionListener(new TreeSelectionListener() {
    @Override
    public void valueChanged(TreeSelectionEvent e) {
        // e.paths has the selected nodes in the TreeModel
    }
});