java - JComboBox 和 vetoableChange?

标签 java swing combobox

当用户更改 JComboBox 中的值时,我想提示他们确认更改。如果他们说“不”,则旧值将保留。如果他们说"is",则将选择新值。

我尝试向组合框添加 VetoableChangeListener,但这似乎从未被触发!

根据 JComponent.addVetoableListener 的 JavaDoc,“将 VetoableChangeListener 添加到监听器列表。为所有属性注册监听器。”

知道发生了什么吗?

非常感谢!

最佳答案

创建 JComboBox 的子类并重载 setSelectedItem。在设置新值之前,调用 fireVetoableChange。如果抛出异常,则不要设置新值。如果没有抛出异常,则调用 super.setSelectedItem。

关于java - JComboBox 和 vetoableChange?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3578523/

相关文章:

c# - “Cross-thread operation is not valid” 尝试在 Backgroundworker 中获取 comboBox 的值时出现异常

java - 如何在HDFS中的文件上运行系统命令?

java - 如何在 Java 中打开 .jar 文件

java - 从另一个类 JFrame 调用重绘

java - 框架中声明的按钮在按下时无法正常工作

java - 如何使用 .hasMoreElements() 循环 JButtonGroup?

c# - 来自 2 ComboBox 的类别影响带有 SQL 的 datagridview 的第三个 Combobox

c# - 如何从组合框中删除更多项目?

java - 在 Java 中实现 OAuth 协议(protocol)

java - 为什么我的代码是 java.lang.StackOverflowError?