我的按钮工作正常,我是每个按钮的监听者:
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());
}
};
我需要一些方法来找到数组中的按钮。
答案 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
}