我正在开发一个显示JTree的应用。我希望用户能够突出显示某些节点,然后在按下按钮后对这些节点执行操作。
突出显示已经有效 - 他们可以点击内容,然后按住Shift键或控制点击突出显示其他内容。有没有办法检测以这种方式突出显示哪些节点?
谢谢!
答案 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
}
});