有谁知道如何将 ActionListener 添加到按钮数组中?

Does anyone know how to add ActionListener to an array of buttons?

我正在创建一个项目,它类似于宝石棋。我将 ActionListener 添加到带有循环的按钮数组中,然后调用分离的处理程序。起初 运行 我认为没问题,GUI 出现了,但是当我单击按钮时它正在工作,但 CLI 显示了很多错误。在第二个 运行ning 上,GUI 不再显示相同的代码,CLI 显示:

Exception in main java lang.ArrayIndexOutOfBoundsException:8

(以及其他内容。)

这是我的代码:

Handler handler = new Handler();
for( int i = 0; i<=8; i++ )
{btnPods[i].addActionListener( handler ); }

这样对吗?

哦..我找到问题了。它越界,因为条件 <= 8 它从 0 开始,所以它应该 <= 7 或 < 8。我将它更改为 i <= 7。但是还有其他方法可以 addActionlistener 到按钮或者我做的很好?

我现在是新来的,我正在寻找可爱的人来回复,我真的在寻找很多答案

自 java 1.5(很久以前就读过)以来,您可以使用 for-each 循环,这将使您无需考虑数组索引:


JButton [] btnPods = ...
Handler handler = new Handler();

for(JButton btnPod : btnPods) {
    btnPod.addActionListener(handler);
}