繁体   English   中英

将treeNode标记为选中(Swing)

[英]Mark treeNode as selected (Swing)

我有一个简单的JTree。
我通过setSelectionPath()在代码中设置了它的选择节点。

一切工作正常,但是我想要的是突出显示各个节点(路径的末端),就像用户用鼠标单击它一样,以便树本身中还存在视觉反馈以指示哪个节点被选中。

问候乌鸦

编辑:
我希望它的外观(就像用鼠标选择节点时的外观一样) 正确突出显示(用鼠标选择后)

通过程序选择节点后当前的外观 通过程序选择节点后的当前结果

聚焦并展开所选节点:

  1. jtree.setScrollsOnExpand(true)

    确定树是否可以滚动以显示以前隐藏的子级。
    如果此属性为true(默认值),则当节点展开时,树可以使用滚动使该节点的后代最大数量可见。

  2. jtree.setExpandsSelectedPaths(true)
    允许配置JTree以自动扩展选定的路径。
    如果您想手动进行管理,
    您可以使用jtree.setExpandedState(TreePath path, boolean state)方法

我发现了问题:
选择树所在的窗格时,我正在刷新树的内容。
但是,我不只是更新它的节点,而是重新创建了完整的模型,这就是问题所在。
我使用的路径是旧模型的路径,这就是为什么无法在新树中正确选择路径的原因。 我切换到仅更新模型的方法,现在setSelectionPath()具有我想要的效果。

暂无
暂无

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

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