• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボタンの複数割り当てについて)

ボタンの複数割り当てについて

このQ&Aのポイント
  • ボタンを3種類別々に関連づける方法について教えてください。
  • ボタンを押すと、red, blue, yellowと表示されるようにする方法を教えてください。
  • 初心者です。ボタンの関連付けについてアドバイスしてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

これは色々やり方があります。 ボタンをメンバ変数として定義してActionEventの getSource()メソッドでEventが発生したObjectと 比較するとか、getSource()で取得したオブジェクト をButtonにキャストしてからgetLabel()でラベルの 文字列を取得し任意の文字列と比較するとか。 他にはアクションコマンドで分岐する方法もあります。 ・メンバ変数の例 public class TestButton extends Applet implements ActionListener {   Button btn1,btn2,bt3;   public void init(){     btn1=new Button("red");     add(btn1);     btn2=new Button("blue");     add(btn2);     btn3=new Button("yellow");     add(btn3);   }   public void actionPerformed(ActionEvent e){     Object obj=e.getSource();     if(obj == btn1){       // "red"の処理     }     else if(obj == btn2){       // "blue"の処理     }     else if(obj == btn3){       // "yellow"の処理     }   } } ・ラベルで比較する例 public void acitonPerformed(ActionEvent e){   Object obj=e.getSource();   if(obj instanceof Button){     Button btn=(Button)obj;     String labStr=btn.getLabel();     if("red".equals(labStr)){       // "red"の処理     }     else if("blue".equals(labStr)){       // "blue"の処理     }     else if("yellow".equals(labStr)){       // "yellow"の処理     }   } } ・アクションコマンドの例 public void actionPerformed(ActionEvent e){   String cmdName=e.getActionCommand();   if("red".equals(cmdName)){     // "red"の処理   }   else if("blue".equals(cmdName)){     // "blue"の処理   }   else if("yellow".equals(cmdName)){     // "yellow"の処理   } } 制約が無ければアクションコマンドでの処理が私は好きです。

hibachi
質問者

お礼

回答どうもありがとうございます。無事解決しました。JAVAのヘルプドキュメントを眺めながらどうしたらいいのかうんうん悩んでおりました。やはり経験した方に意見を聞くのが一番ですね。回答はWORD文書にして永久保存するつもりです。ありがとうございました!!

関連するQ&A

専門家に質問してみよう