繁体   English   中英

如何知道在显示的JTree上突出显示了哪些节点?

[英]How can I tell what nodes are highlighted on a displayed JTree?

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

突出显示已经可以使用-他们可以单击事物,然后按住Shift或单击控制键以突出显示其他事物。 有什么方法可以检测以这种方式突出显示哪些节点?

谢谢!

如果我对您的理解正确,则希望找到用户选择的所有树节点。 请参见JTree.getSelectionPaths() Javadoc声明它返回

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

每个TreePath

表示唯一标识树中节点路径的对象数组。 数组的元素以根为数组的第一个元素进行排序

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM