ボタンが正しく機能しているので、次のように各ボタンのリスナーになっています。
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());
}
};
配列内のボタンを見つける方法が必要です。
これを試して
ActionListener actionListener = new ActionListener()
{
public void actionPerformed(ActionEvent actionEvent) {
System.out.println(actionEvent.getActionCommand());
}
};
ラベルを取得するには、これを試してください。
ActionListener actionListener = new ActionListener()
{
public void actionPerformed(ActionEvent actionEvent) {
JButton button = (JButton)actionEvent.getSource();
String label = button.getLabel(); //Deprecated
String label2 = button.getText();
}
};
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
}