2012-07-20 86 views
3

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

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

+0

在什么背景?秋千/ AWT?或者只是一般的ActionListener接口? – wrschneider 2012-07-20 10:37:49

+0

尤其是在Swing/AWT中定义自己的线程时,或者当您使用线程来制作动画时,是否影响到actionlistener?为什么? – 2012-07-20 10:56:05

+1

@Mohamed Magdy Hassan没人知道你的目标是什么,请不要评论,但编辑你的问题, – mKorbel 2012-07-20 11:00:30

回答

8

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

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

您可以阅读更多关于ActionListeners in SwingConcurrency & Swing

4

编辑

穆罕默德·哈桑Magdy尤其是在摇摆中写道/ AWT当你定义自己的线程,或当您使用一个线程来制作动画时,ActionListener的影响?为什么?

  • 不要使用动画线程(ThreadRunnable#Thread)为Swing JComponents,这可能是AWT或者部分SWT正确,

  • 请忘记的例子从interner,大部分他们已经过时,因为Swing JComponents使用Swing Timer exclusivelly