web-dev-qa-db-ja.com

クリックされたボタンを確認するにはどうすればよいですか?

ボタンが正しく機能しているので、次のように各ボタンのリスナーになっています。

for(int i = 0; i <= 25; ++i) {
    buttons[i] = new Button(Character.toString(letters[i]));
    buttons[i].addActionListener(actionListener);
    panel1.add(buttons[i]);
}

ご覧のとおり、リスナーが呼び出されています。クリックしているボタンを確認したいと思います。それを行う方法はありますか?

ActionListener actionListener = new ActionListener() {
    public void actionPerformed(ActionEvent actionEvent) {
        System.out.println(actionEvent.getSource());
    }
};

配列内のボタンを見つける方法が必要です。

13
Makenshi

これを試して

ActionListener actionListener = new ActionListener()
 {
      public void actionPerformed(ActionEvent actionEvent) {

          System.out.println(actionEvent.getActionCommand());
      }
    };
21
Pratik

ラベルを取得するには、これを試してください。

ActionListener actionListener = new ActionListener()
{
      public void actionPerformed(ActionEvent actionEvent) {
            JButton button = (JButton)actionEvent.getSource();
            String label = button.getLabel(); //Deprecated 

            String label2 = button.getText();
     }
};
7
Adil Soomro

ActionEventには、JButtonのactionCommand文字列を取得するメソッドgetActionCommand()があります。これも通常はテキストです(JButtonの場合)。

 private void jButton2ActionPerformed(Java.awt.event.ActionEvent evt) {                                         
l1.setText("");//name of level what you want

t1.setText(null);//text field what you want 

t2.setText(null);//text field what you want
}
0
Kartoos