Кто-нибудь знает, как добавить ActionListener в массив кнопок? - PullRequest
0 голосов
/ 04 апреля 2020

Я создаю проект, похожий на mancala. Я добавляю ActionListener к массиву кнопок с al oop и вызываю разделенный обработчик. При первом запуске я думал, что все в порядке, появляется GUI, но когда я нажимал кнопки, это работало, но CLI выдает много ошибок. На втором запуске тот же код GUI больше не появляется, и CLI говорит:

Exception in main java lang.ArrayIndexOutOfBoundsException:8

(и другие вещи)

Вот мой код:

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

Это правильно?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Поскольку java 1.5 (считайте долгое время go), который вы можете использовать для каждого l oop, это избавит вас от размышлений об индексах массива:


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

for(JButton btnPod : btnPods) {
    btnPod.addActionListener(handler);
}
0 голосов
/ 04 апреля 2020

Ооо .. Я нашел проблему. Это вне границ, потому что условие <= 8, оно начинается с 0, поэтому оно должно быть <= 7 или <8. Я изменил его на i <= 7. Но есть ли другие способы <code>addActionlistener для кнопки или что? Я в порядке?

Я сейчас новичок здесь, и я ищу прекрасных людей, чтобы ответить, я действительно ищу много ответов

...