2

我的程序能够更改组合框的选定项。但是我怎么知道项目更改是由人类鼠标单击项目本身还是由我的程序引起的。

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

4

1 回答 1

3

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

于 2012-11-04T20:17:23.880 回答