java - JTree 选择而不生成事件

标签 java swing selection listener jtree

我有一个 JTree、一个 JTable 和一个 JList,它们显示同一组对象,但顺序不同且信息不同。如果从一个组件中选择一个项目,我想在其他两个组件上选择相同的对象(意味着它们应该突出显示)。当然,我用监听器监视选择事件。问题是,当组件检索选定的对象时,我必须通过调用其他组件的选择方法来确保在其他组件上选择该对象。然后,这将通知其他两个组件上的选择监听器。但是这些事件中的每一个都会依次调用除自身之外的组件上的选择事件,从而导致三个组件之间出现无限循环。

我看到一种解决方案是使用 boolean 标志,并且如果设置了该标志,则使监听器不会传播选择。然而,这看起来很麻烦而且不优雅。有没有一种方法可以简单地告诉 JTree、JTable 和 JList 进行选择,但不触发任何事件(而不是触发事件,然后使用 boolean 标志捕获并停止它)?

最佳答案

看看SharedModelDemo 。我认为它符合您的要求。

关于java - JTree 选择而不生成事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213704/

相关文章:

java - 记录 NullPointerException?

java - 当文本更改时如何阻止 JLabel 更改其大小?

selection - GIMP:减去重叠选择

c# - 防止在 DataGridView 中选择单元格

java - 即使对 SET_ALARM 使用 <uses-permission> 也会获得权限拒绝?

java - 用 Kotlin 编写的 Android 库,为 Java 应用程序提供支持

java - 连接和读取图像字节和字符串字节

java - 向 inputText 添加掩码后丢失默认输入

java - 如何用简单的消息随机设置 JFrame

css - 需要 html 帮助在一个唯一的选定 ID 下显示多行