java - 多个 JButtons,Java 中的一个 Eventlistener

标签 java swing jbutton event-listener

我有一个 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/

相关文章:

java - 当抑制窗口 KTable 的输出时,如何正确实现缓冲区配置?

java - 如何禁用自动 Java 静态导入?

java - EJB Home 接口(interface)上的 WebLogic 类转换

Java KeyBindings 对 JPanel 没有反应

java - 在 java 中画线后 ActionListener 无法正常工作

java - 单击 JButton 设置文本样式后保持选择

java - 使用 Java 从 mongodb 读取 blob(二进制)数据时出错

java - ComboBoxModel 事件不起作用

java - 快速 Jbutton 单击导致无任何操作

java - 无模式 JDialog 不显示内容