ActionListener是java中的一个线程吗?

时间:2012-07-20 10:33:43

标签: java multithreading swing actionlistener

动作侦听器是一个线程,如果是,那么这个线程对我自己定义的线程的影响是什么?

特别是在Swing / AWT中定义自己的线程时,或者当你使用线程制作动画时,actionlistener会影响到吗?为什么?

2 个答案:

答案 0 :(得分:8)

不,动作监听器是一个接口。您可以通过定义其actionPerformed()方法的功能来实现该接口(假设您引用this ActionListener)。该方法将在调用它的线程中运行。

因此,如果您从其中一个线程调用它,它将在该线程中运行。如果actionPerformed与UI组件交互,那么这样做可能是个坏主意。

您可以详细了解ActionListeners in SwingConcurrency & Swing

答案 1 :(得分:4)

修改

  当你定义自己的线程时,或者当你使用线程制作动画时,Mohamed Magdy Hassan特别在Swing / AWT中写道,actionlistener会影响到吗?为什么?

  • 不要将线索(ThreadRunnable#Thread)用于Swing JComponents的动画,这对于AWT或部分用于{{1}可能是正确的},

  • 请忘记来自interner的示例,其中大多数都已过时,SWT使用Swing Timer独占