Можно ли заставить JToggleButton отменить выбор другого JToggleButton, чтобы иметь эффект, аналогичный традиционным переключателям? - PullRequest
0 голосов
/ 09 ноября 2019

У меня реализован следующий JDialog:

[ jToggleButton1 ]     [ jToggleButton2 ]     [ jToggleButton2 ]

Мне бы хотелось, чтобы, когда пользователь нажимает (-toggles-) любую из кнопок JToggleButton, две другие меняют свое состояние на невыбранное. Это будет подражать классическому набору кнопок «только один раз нажата»15/20 кнопок. Этот способ реализации функциональности явно неэффективен.

  1. Есть ли другой шаблон проектирования, который автоматически выбрал только один?
  2. Реализованы ли в JToggleButtons какие-либо функции, которые можно использовать?

Примечание. В случае необходимости я использую встроенный редактор интерфейсов Netbeans для разработки всех JFrames / JDialogs свинга Java.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2019

Попробуйте добавить свои кнопки в группу кнопок:

ButtonGroup group = new ButtonGroup();
group.add(button1);
group.add(button2);
...

0 голосов
/ 09 ноября 2019

Классический шаблон - создание единой функции actionlistener, которая выключает (отменяет выбор в вашем случае) все ваши кнопки, затем получает источник действия и включает его. В конце концов, вы устанавливаете этот список действий на все свои кнопки.

...