在我的swing应用程序中,我有一个带有ItemListener的组合框,如果用户更改了值,则会执行X(通过itemStateChanged()).但是,我也有一个不同的功能,可以更改该组合框的值.在这种情况下,我不希望X完成.
有没有办法找出状态变化是由用户交互还是由函数引起的?
谢谢!
编辑:我使用了标志方法.谢谢你的快速解答.我只想补充一点,itemStatechanged实际上被调用了两次,一次用于取消选择,一次用于选择.这需要处理,否则旗帜不会有任何影响.这里讨论的问题.
有两种方法可以检查:
isUser.该标志是true默认的.在以编程方式更改之前将其设置为false并在设置组合框值后重置.在监听器中,只需检查标志并在必要时跳过操作.| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |