Аномалия радиокнопок Java - PullRequest
1 голос
/ 24 октября 2010

Я пишу Java-приложение, и у меня есть четыре переключателя, которые называются rb1, rb2, rb3 и rb4.Я добавил двух из них в одну группу радиопереключателей, а два других - во вторую радиобутгруппу.Затем я добавил все четыре из них на панель.Для всех четырех кнопок определены разные слушатели действий.

Однако, когда я нажимаю на первую кнопку в одной группе, запускается собственный слушатель действий и один для второй кнопки в другой группе.Эта кнопка, которая неправильно срабатывает, вообще не сработает, когда я нажму на нее.

Я могу только подозревать, что они не должны все находиться на одной панели, но это выглядит немного натянутым в качестве объяснения.Есть идеи?

Заранее спасибо за любую помощь.

Джон Донер

1 Ответ

0 голосов
/ 24 октября 2010

Несколько групп радиокнопок прекрасно работают на одной панели.

Дважды проверьте своих слушателей. Проверьте, что listener4 действительно был добавлен в rb4. Возможно, вы на самом деле сделали это вместо:

rb1.addActionListener(listener1);
rb2.addActionListener(listener2);
rb3.addActionListener(listener3);
rb1.addActionListener(listener4);  // NOTE: listener added to rb1 instead of rb4

Если это то, что произошло, то:

  • Нажатие на rb1 вызовет listener1 и listener4
  • Нажатие на rb4 ничего не даст (к нему не подключен слушатель)

Что, кажется, соответствует вашим симптомам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...