将 treeNode 标记为选中 (Swing)
Mark treeNode as selected (Swing)
我有一个简单的 JTree。
我通过 setSelectionPath() 在代码中设置它的选定节点。
一切正常,但我想要的是突出显示相应的节点(路径的末尾),就好像用户用鼠标单击它一样,以便在树中也有视觉反馈本身以指示选择了哪个节点。
问候乌鸦
编辑:
我希望它看起来如何(就像用鼠标选择节点时的样子
通过程序选择节点后当前的样子
要聚焦并展开所选节点:
jtree.setScrollsOnExpand(true)
判断是否
树可能会滚动以显示以前隐藏的子项。
如果此 属性 为真(默认),
当一个节点展开时,树可以使用滚动来制作
节点的后代可见的最大可能数量。
jtree.setExpandsSelectedPaths(true)
允许配置 JTree 以自动扩展选定的路径。
如果您想手动管理它,
你可以使用jtree.setExpandedState(TreePath path, boolean state)
方法
我发现了我的问题:
选择树所在的窗格时,我正在刷新树的内容。
但我没有更新它的节点,而是重新创建了完整的模型,这就是问题所在。
我使用的路径是旧模型的路径,这就是无法在新树中正确选择路径的原因。
我切换到只更新模型的方法,现在 setSelectionPath() 具有我想要的效果。
我有一个简单的 JTree。
我通过 setSelectionPath() 在代码中设置它的选定节点。
一切正常,但我想要的是突出显示相应的节点(路径的末尾),就好像用户用鼠标单击它一样,以便在树中也有视觉反馈本身以指示选择了哪个节点。
问候乌鸦
编辑:
我希望它看起来如何(就像用鼠标选择节点时的样子
通过程序选择节点后当前的样子
要聚焦并展开所选节点:
jtree.setScrollsOnExpand(true)
判断是否 树可能会滚动以显示以前隐藏的子项。
如果此 属性 为真(默认), 当一个节点展开时,树可以使用滚动来制作 节点的后代可见的最大可能数量。jtree.setExpandsSelectedPaths(true)
允许配置 JTree 以自动扩展选定的路径。
如果您想手动管理它,
你可以使用jtree.setExpandedState(TreePath path, boolean state)
方法
我发现了我的问题:
选择树所在的窗格时,我正在刷新树的内容。
但我没有更新它的节点,而是重新创建了完整的模型,这就是问题所在。
我使用的路径是旧模型的路径,这就是无法在新树中正确选择路径的原因。
我切换到只更新模型的方法,现在 setSelectionPath() 具有我想要的效果。