我有一个 JButton 的二维数组
JButton[][] ledBtns = new JButton[8][8];
在一个循环中,我完成了所有初始化工作。现在我想为每个 JButton 添加一个 EventListener,当 Button os 单击时触发。然后我想更改按钮上的图像。
for(int i = 0; i < ledBtns.length; i++){
for(int j = 0; j < ledBtns[i].length; j++){
//init stuff
ledBtns[i][j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
changeImage();
}
});
}
}
现在将调用“changeImage()”,但我需要知道调用它的按钮是什么。 我不能使用参数,如果我这样做,它会告诉我将它们声明为“最终”。 除了编写完全相同的 64 个方法并手动将它们添加到每个 JButton 之外,还有其他方法吗?
最佳答案
ActionEvent
类有一个 getSource()
用于获取生成事件的组件的方法。
关于java - 多个 JButtons,Java 中的一个 Eventlistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8168290/