将 treeNode 标记为选中 (Swing)

Mark treeNode as selected (Swing)

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

一切正常,但我想要的是突出显示相应的节点(路径的末尾),就好像用户用鼠标单击它一样,以便在树中也有视觉反馈本身以指示选择了哪个节点。

问候乌鸦

编辑:
我希望它看起来如何(就像用鼠标选择节点时的样子

通过程序选择节点后当前的样子

要聚焦并展开所选节点:

  1. jtree.setScrollsOnExpand(true)

    判断是否 树可能会滚动以显示以前隐藏的子项。
    如果此 属性 为真(默认), 当一个节点展开时,树可以使用滚动来制作 节点的后代可见的最大可能数量。

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

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