如何找出点击了哪个按钮?

时间:2011-09-22 05:35:43

标签: java swing button actionlistener

我的按钮工作正常,我是每个按钮的监听者:

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());
    }
};

我需要一些方法来找到数组中的按钮。

4 个答案:

答案 0 :(得分:21)

试试这个

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

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

答案 1 :(得分:6)

要获得标签,请尝试此操作。

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

            String label2 = button.getText();
     }
};

答案 2 :(得分:5)

ActionEvent有一个方法getActionCommand(),它将获取JButton的actionCommand String。这通常是它的文本(对于JButtons)。

答案 3 :(得分:0)

 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
}