gpt4 book ai didi

java - Swing:有没有办法区分用户引起的 ItemEvent 和应用程序引起的事件?

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:29 24 4
gpt4 key购买 nike

我在基于 Swing 的应用程序中使用组合框,我很难弄清楚如何区分用户事件生成的 ItemEvent 和应用程序引起的 ItemEvent。

例如,假设我有一个组合框“combo”,我正在使用我的 ItemListener“listener”监听 itemStateChanged 事件。当用户将选择更改为项目 2 或我执行该行(伪代码)时:

combo.setSelection(2)

.. 看来我无法区分这些事件。

就是说,无论如何我都不是 Swing 专家,所以我想问一下。

谢谢!

最佳答案

无论是用户选择项目 2,还是 API 调用 setSelection(2),事件都将显示为相同

您的问题的解决方案可能是重新考虑您希望 itemStateChanged 代码在选择更改时执行的操作。为什么您的应用程序在每种情况下的工作方式都不同?也许您可以利用相似之处来发挥自己的优势。

使用标志时要小心。 itemStateChanged 事件将发生在事件调度线程上,该线程与您设置标志状态的线程不同。这意味着使用标志可能不是 100% 可靠。

关于java - Swing:有没有办法区分用户引起的 ItemEvent 和应用程序引起的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com