У меня есть несколько кнопок (JButton), и я хочу отключить кнопку, которая «выбрана», поэтому, если вы нажмете на другую кнопку, она станет отключена, а все остальные будут включены. Это почти как ButtonGroup
, но вместо «select/deselect» это «enable/disable».Как включить/отключить кнопку, а не выбрать ее? (buttongroup)
Я не знаю, существует ли что-то уже существующее или что является лучшим подходом.
- Расширяет
ButtonGroup
и переопределить все функции - Создание пользовательских
ButtonModel
иButtonGroup
как - Добавить
ActionListener
(то же самое) для каждой кнопки, которые отключают кнопку тока и включить другие - ...
Я думаю, что «Extends ButtonGroup
...» является лучшим, но я не уверен, почему именно я спрашиваю.
Как можно использовать ButtonGroup
с включением/отключением?
Например:
Первая кнопка отключения:
и когда я нажимаю на второй:
нб: Он будет использоваться несколько раз для различных групп кнопок
Я не уверен, что понял вашу «альтернативную кнопку». Все кнопки должны быть видны даже отключить один, и он должен быть отключен, но не выбран. Если вы нажмете на 'jButtonB', тогда он станет отключенным и' JButton' A и C включить, .... Всегда есть только один, который отключен. Поэтому с вашим решением, если я правильно понимаю, он не будет выбран, но он также не будет отключен. – Duffydake
@ Duffydake - какова цель отключения кнопки? Не можете ли вы просто установить его видимость на «false»? Из вашего вопроса все, что вы делаете, это изменение значка (и его цвета) после его нажатия. Вы можете просто добавить флаг, чтобы проверить, включена ли кнопка в данный момент/отключена и соответственно изменить значок. – Juxhin
@ Juxhin Цель не имеет большого значения. Вы не можете знать, но я использую LAF, и когда что-то отключается, он становится черно-белым, я не меняю иконки, ...на вопросительных изображениях я просто расширяю 'ButtonGroup' и переопределяю все функции с помощью« setEnable ». – Duffydake