私自身は、スイングイベントハンドラ(button-clickなど)として常にActionListener
を使用しています。これは、ほとんどのスイングアプリケーションで見た中で最も一般的なリスナーです。使用する方が良い:Action対ActionListener?
しかし、ここでstackoverflowのスイング専門家の中には、ActionListener
ではなくAction
を使用することがよくあります。私がそうすることによって得られるメリットは?
私自身は、スイングイベントハンドラ(button-clickなど)として常にActionListener
を使用しています。これは、ほとんどのスイングアプリケーションで見た中で最も一般的なリスナーです。使用する方が良い:Action対ActionListener?
しかし、ここでstackoverflowのスイング専門家の中には、ActionListener
ではなくAction
を使用することがよくあります。私がそうすることによって得られるメリットは?
コンポーネント間で機能を共有する必要がある場合は、Action
をお勧めします。 docs
同じ機能を実行するコンポーネントが2つ以上ある場合は、Actionオブジェクトを使用してその機能を実装することを検討してください。
も
Actionオブジェクトは、このようなツールバーボタンとしてアクション・イベント・発火コンポーネントの状態だけでなく、アクション・イベント処理するだけでなく、集中型のハンドリングを提供アクションリスナーであると言います、メニュー項目、共通ボタン、およびテキストフィールドがあります。アクションが処理できる状態には、テキスト、アイコン、ニーモニック、有効、選択状態が含まれます。
+1の 'アクション'; ['FileMenu'](http://stackoverflow.com/a/4039359/230513)は基本的な例です。それをやることの利点は、後者をする必要がないことです。 :-) – trashgod
単一のアクションリスナーを作成し、複数のスイングコンポーネントに同じ参照を 'addActionListener()'で追加するのはどうですか?それは同じことではありませんか? –
@ Eng.Fouad:アクションには、アイコン、ニーモニックキー、説明を保持したり、必要な値キーを保持する機能など、ActionListenersで見つからないその他の追加機能があります。 –
アクションは共有可能、ブロック可能、設定可能です。 – mKorbel