java - 使用线程进行GUI编程时监听器的机制是什么?

标签 java user-interface listener actionlistener

使用线程的 GUI 编程中监听器的机制是什么。例如,当 GUI 运行时,ActionListener/actionPerformed 方法中是否涉及任何线程?这些线程(如果确实存在)对任何用户定义的线程有什么影响?它们会改变用户定义线程的行为吗?

最佳答案

what is the mechanism of listeners in GUI Programming using Threads. For example, are there any threads involved in ActionListener/actionPerformed method while a GUI runs?

对于一个直接的 ActionListener,只涉及一个线程,Event Dispatch Thread或 EDT,它是主 Swing 事件线程。这个单一线程负责所有 Swing 图形和用户交互,并且大多数 Swing 方法调用都需要在此线程上进行(除非 API 声明它们是线程安全的)。

至于你的问题的其余部分,

What is the effect of these threads (if they do exist) on any user-defined Threads? Do they alter the behavior of user-defined threads?

说实话,我不知道你在问什么。 Swing GUI 程序中可能会使用其他线程,实际上有些情况需要它们,但在使用时,编码人员必须注意确保来自这些后台线程的大多数 Swing 调用都是在 Event 线程上进行的。

您能否澄清一下您感到困惑的是什么或是什么导致了这个问题?

关于java - 使用线程进行GUI编程时监听器的机制是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11712571/

相关文章:

java - 如何在java中创建一个方法的监听器

java - 安卓 : Creating GUI programmatically at run time in java

user-interface - 字符用户界面有 future 吗?

Java:JRadioButton 上的 ActionEvent 和 ItemEvent 有什么区别?

linux - 在 Linux 中,如何查找修改日期不早于给定文件的文件?

php - 交响乐 5 : how to check if user is banned or not before login

java - 更改 Android 操作栏菜单项的点击图标

java - 将代码放在花括号 block 中是什么意思

java - 在gradle中导入Apache速度会降级HttpServletResponse

java - 在应用程序关闭时保存 EditTexts