gpt4 book ai didi

java - 将 PropertyChangeListener 添加到多个 JComboBox

转载 作者:行者123 更新时间:2023-12-02 00:32:17 25 4
gpt4 key购买 nike

我有一个带有 JComboBoxes 的表,并且想要向每个 JComboBox 添加一个 PropertyChangeListener,因为某些 ComboBox 的选择必须更改其他 JComboBoxes 的可选项。

我无法手动添加所有这些监听器,因为它们的数量非常多。

我正在使用数组初始化 ComboBox,因此我在创建 JComboBox 时已经尝试添加监听器,如下所示:

comboBox[i].addPropertyChangeListener(new PropertyChangeListener()

但它不起作用,因为字段变量 i 不是最终的,我需要这个变量。

如何将此变量存储在组合框中,或者是否有其他可能性来解决此问题?

最佳答案

如果您可以创建所有这些组合框,那么您还可以手动添加“所有这些监听器”。有几种选择:

  • 每次创建新的组合框时都会创建一个新的监听器,并将该索引 i 传递给该监听器(通过匿名类、内部类或完全成熟的类)或通过创建最终的按照弗朗西斯·厄普顿在回答中建议的方式复制
  • 如果您只需要 i 来检索事件源自的组合框,您还可以调用 event#getSource (这在 ActionEvent 以及 PropertyChangeEvent 上,因为您的问题不清楚监听器的类型)。在这种情况下,您可以仅创建监听器一次,也可以为每个组合框创建一个监听器

关于java - 将 PropertyChangeListener 添加到多个 JComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8705963/

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