我有一个简单的JTree 我通过setSelectionPath()在代码中设置了它的选定节点。
一切都运行正常,但我想要的是相应的节点(路径的末尾)突出显示,就像用户用鼠标点击它一样,以便树本身也有一个视觉反馈指示选择了哪个节点。
Greetings Raven
答案 0 :(得分:1)
聚焦并展开所选节点:
jtree.setScrollsOnExpand(true)
确定是否 树可能会滚动显示以前隐藏的孩子 如果此属性为true(默认值), 当节点扩展树时可以使用滚动来制作 可见的节点后代的最大可能数量。
jtree.setExpandsSelectedPaths(true)
允许配置JTree以自动扩展选定的路径
如果您想手动管理,请
您可以使用jtree.setExpandedState(TreePath path, boolean state)
方法
答案 1 :(得分:0)
我发现了我的问题:
在选择树所在的窗格时,我正在刷新树的内容
但是,我不是仅仅更新它的节点,而是重新创建了完整的模型,这就是问题所在
我使用的路径是旧模型的路径,这就是为什么在新树中无法正确选择路径的原因。
我转而采用刚更新模型的方法,现在setSelectionPath()具有我想要的效果。