-1

各 GUI フォームに多くのボタンがある多くの GUI フォームがあります。ユーザーがこれらのボタンのいずれかをクリックしたことを検出したいと考えています。

私の質問は次のとおりです。各ボタンに個別にコードを追加する必要がありますか、またはボタンが押されるたびに呼び出されるパブリックメソッドによって各ボタンの押下に対応できますか? パブリック メソッドを使用する場合 (むしろそうします)、メソッドは関数を呼び出したボタンをどのように検出しますか? ボタンはパブリック変数である必要がありますか?

現在、私はこのコードを使用しています(うまくいくので、もっとうまくできるかどうか疑問に思っています):

loginButton.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("You clicked the button");
        }});
4

1 に答える 1

1

各ボタンに個別にコードを追加する必要がありますか、またはボタンが押されるたびに呼び出されるパブリック メソッドによって各ボタンの押下に対応できますか?

私の考え (そして正気) には、アクション リスナー/ハンドラーを分離します。一般的に言えば、個々のアクション/コードをシンプルかつポイントに保ちます。

各ボタン/メニューは、必要に応じて複数のアクション リスナーを持つことができます。

Action APIも見てみましょう

パブリック メソッドを使用する場合 (むしろそうします)、メソッドは関数を呼び出したボタンをどのように検出しますか? ボタンはパブリック変数である必要がありますか?

このメソッドに従うことに本当に熱心な場合ActionEventは、アクションのソースとアクション コマンドへの参照を含む を渡すことができます。

個人的には、私はしません。この種のメソッドは、管理、保守、デバッグ、および更新が難しいことで有名です

于 2013-05-12T12:01:53.650 に答える