動作偵聽器是一個線程,如果是,這個線程對我自己定義的線程有什麼影響?ActionListener是java中的一個線程嗎?
特別是在Swing/AWT中當你定義你自己的線程,或者當你使用線程來製作一個動畫時,是否影響到actionlistener?爲什麼?
動作偵聽器是一個線程,如果是,這個線程對我自己定義的線程有什麼影響?ActionListener是java中的一個線程嗎?
特別是在Swing/AWT中當你定義你自己的線程,或者當你使用線程來製作一個動畫時,是否影響到actionlistener?爲什麼?
不,動作偵聽器是一個接口。您可以通過定義其actionPerformed()
方法(假設您參考this ActionListener)來實現該接口。該方法將在調用它的線程中運行。
因此,如果您從其中一個線程調用它,它將在該線程中運行。如果actionPerformed
與UI組件交互,那麼這樣做可能是一個糟糕的主意。
您可以閱讀更多關於ActionListeners in Swing和Concurrency & Swing。
Swing Action
是最具可擴展性與來自Swing Action
AWT Listeners
輸出比較應該是ActionListener
從Swing Action
輸出應該總是做EDT
編輯
穆罕默德·哈桑Magdy尤其是在搖擺中寫道/ AWT當你定義自己的線程,或當您使用一個線程來製作動畫時,ActionListener的影響?爲什麼?
不要使用動畫線程(Thread
或Runnable#Thread
)爲Swing JComponents
,這可能是AWT
或者部分SWT
正確,
請忘記的例子從interner,大部分他們已經過時,因爲Swing JComponents
使用Swing Timer exclusivelly
在什麼背景?鞦韆/ AWT?或者只是一般的ActionListener接口? – wrschneider 2012-07-20 10:37:49
尤其是在Swing/AWT中定義自己的線程時,或者當您使用線程來製作動畫時,是否影響到actionlistener?爲什麼? – 2012-07-20 10:56:05
@Mohamed Magdy Hassan沒人知道你的目標是什麼,請不要評論,但編輯你的問題, – mKorbel 2012-07-20 11:00:30