Для школьного проекта мне нужно создать простое приложение для рисования, которое может рисовать линии, овалы и прямоугольники.
Назначение указывает, что мне нужны кнопки на панели инструментов и для пунктов меню.каждый тип фигуры.
Я бы хотел пойти немного дальше и дальше, сделав кнопки JToggleButtons
на панели инструментов и пункты меню JRadioButtonMenuItems
.Кроме того, я хочу, чтобы при выборе одной из кнопок панели инструментов она отменяла выбор других, выбирала соответствующий пункт меню и отменяла выбор других пунктов меню.То же самое для выбора одного из пунктов меню.
Я знаю, что могу сгруппировать любой AbstractButton
с ButtonGroup
, но я не уверен, что это правильный путь, потому что, хотя он обрабатывает один "группа "кнопок просто отлично, я не уверен, что она может обрабатывать две параллельные группы.
Обойтись без ButtonGroup
означало бы, что в каждом из 6 прослушивателей событий мне пришлось бы вручную отменить выбор других кнопок, икаждая пара будет вызывать один и тот же код для установки типа фигуры.
Я также мог бы сделать два ButtonGroup
с, один для меню, один для панели инструментов, но затем я также должен продублировать код установки типа фигуры..
В любой ситуации я также рискую из-за того, что меню устанавливает кнопку, которая устанавливает пункт меню, который устанавливает кнопку ad infintum.
Как лучше всего решить эту проблему??
(Бонусные баллы за возможность решить проблему с конструктором графического интерфейса Netbeans; это просто проще)