java - JComboBox 中项目上的鼠标事件

标签 java swing jcombobox

我的程序能够更改组合框的所选项目。但是我如何知道项目更改是由人类鼠标点击项目本身还是由我的程序引起的。

我正在寻找一个可以添加到 JComboBox 的项目而不是 JComboBox 本身的 MouseListener。

最佳答案

JComboBox 是一个复合组件,强烈建议您避免使用低级监听器(例如 MouseListener)。相反,为什么不在代码选择一个项目时禁用选择监听器(也许您正在使用 ActionListener),然后在选择完成后重新启用它。因此,您将知道 ActionListener 的任何 Activity 都来自用户的选择。您可以通过删除并重新添加监听器或使用 boolean 变量来禁用和启用监听器,该 boolean 变量允许监听器仅在 boolean 值为 true 时使用react。

关于java - JComboBox 中项目上的鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222378/

相关文章:

java - 查找字符串的所有子字符串 - StringIndexOutOfBoundsException

java - 有没有办法在不使用 Thread.sleep 的情况下对 ScheduledExecutorService.scheduleAtFixedRate 进行单元测试?

java - JTable 单元格上双值编辑器的 "Odd"行为

java - 如何获取从 JComboBox 中选择的项目的索引?

java - 弹出组合框并使用键盘快捷键选择

java - 使用 ant 运行 32 位 java 时的类路径长度

java - 使用 Arraylist 实现邻接列表

java - 为什么 JPanel 会自动重绘?

java - Java 中没有 Graphics2D.draw 方法?

java - 如何从数据库中获取值到 jcombobox?