我的程序可以更改组合框的选定项目。但是,我如何知道项目更改是否是由鼠标单击项目本身或我的程序引起的。
我正在寻找可以添加到JComboBox项目而不是JComboBox本身的MouseListener。
答案 0 :(得分:3)
JComboBox是复合组件,强烈建议您避免使用MouseListener等低级侦听器。相反,为什么不在代码选择项目时禁用您的选择侦听器(可能是您正在使用ActionListener),然后在选择完成后重新启用它。因此,您将知道ActionListener的任何活动都来自用户的选择。您可以通过删除和重新添加侦听器来禁用和启用侦听器,或者通过使用允许侦听器仅在布尔值为true时作出反应的布尔变量来禁用和启用侦听器。