gpt4 book ai didi

java - 将 JTree 选择绑定(bind)到外部集合?

转载 作者:行者123 更新时间:2023-12-01 13:42:33 25 4
gpt4 key购买 nike

我有一个 JPanel,它的作用就像一个带有元素的 Canvas ,以及面板旁边的 JTree 中列出的元素。现在,我在 JPanel 上实现了元素选择,它包含实现 TreeNode 接口(interface)的元素,本质上是树的节点。

是否可以将树选择直接绑定(bind)到该集合,以便我可以同步两个选择而无需编写太多代码?

我已经研究了 TreeSelectionModel 接口(interface),但这似乎有点矫枉过正。我希望得到的是一个内置类,它在其构造函数中接受一个集合或类似的东西。

我会发布一个 sscce,但我目前的项目非常不干净,并且会有大量并不真正相关的代码。

我的JTree 使用DefaultTreeModel,它将我的根节点(Workspace) 作为其构造函数的唯一参数。现在,我的 Workspace 拥有代表我的图表模型的 TreeNode 集合。然而,图表本身是基于模型形成画家的 View 。

该图的模型还有一个名为 SelectedElements 的集合,它根据选择(通过单击或套索完成)添加和删除元素。

最佳答案

我认为,虽然您的 JPanel 中只显示了叶子,但您仍然需要将此显示基于完整的树。换句话说,您应该使用 JTree 的模型作为 JPanel 显示的基础。将其视为同一模型的另一个 View 。然后,您也可以轻松地共享选择监听器,甚至不需要创建任何新的 TreeSelectionListener,而只需使用 JTree 具有的相同监听器。

关于java - 将 JTree 选择绑定(bind)到外部集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com