アクションリスナーはスレッドですか?そうである場合、このスレッドが自分で定義したスレッドにどのような影響を与えますか?
特にSwing/AWTで独自のスレッドを定義する場合、またはスレッドを使用してアニメーションを作成する場合、actionlistenerはそれに影響しますか?なぜ?
アクションリスナーはスレッドですか?そうである場合、このスレッドが自分で定義したスレッドにどのような影響を与えますか?
特にSwing/AWTで独自のスレッドを定義する場合、またはスレッドを使用してアニメーションを作成する場合、actionlistenerはそれに影響しますか?なぜ?
いいえ、アクション リスナーはインターフェイスです。そのメソッドが何をするかを定義することで、そのインターフェースを実装できます(この ActionListeneractionPerformed()
を参照すると仮定します)。そのメソッドは、それを呼び出すスレッドで実行されます。
したがって、スレッドの 1 つから呼び出すと、そのスレッドで実行されます。が UI コンポーネントと対話する場合actionPerformed
、それを行うのはおそらく悪い考えです。
ActionListeners の詳細については、SwingおよびConcurrency & Swingを参照してください。
スイングアクション見てきた
Swing Action
AWTリスナーと比較して最もスケーラブルです
からの出力はActionListenerSwing Action
である必要があります
からの出力はSwing Action
常に完了EDTにする必要があります
編集
Mohamed Magdy Hassan は特に Swing/AWT で、独自のスレッドを定義するとき、またはスレッドを使用してアニメーションを作成するときに、actionlistener は影響しますか? なぜ?
のアニメーションにスレッド ( または ) を使用Thread
しないでください。Runnable#Thread
Swing JComponents
AWT
SWT
内部からの例を忘れてください。それらのほとんどは時代遅れで、Swing TimerのみをSwing JComponents
使用するためのものです。