2012-07-20 30 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

相關問題