3

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

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

4

2 回答 2

8

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

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

您可以在 Swing和Concurrency & Swing中阅读有关ActionListener 的更多信息。

于 2012-07-20T10:38:01.490 回答
4

编辑

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

  • 不要将线程(ThreadRunnable#Thread)用于动画Swing JComponents,这可能是正确的,也可能AWT部分是正确的SWT

  • 内部例子请忘记,大部分已经过时,仅供Swing TimerSwing JComponents使用

于 2012-07-20T10:51:23.530 回答