(SWING) Действия в строке меню и сохранение состояния - PullRequest
0 голосов
/ 27 февраля 2011

Я пишу клиентское приложение, которое немного похоже на MS Excel - у него одна строка меню, и у вас есть несколько внутренних фреймов, каждый из которых представляет собой файл в одном из нескольких состояний.

Основной процесс заключается в следующем: после открытия файла вы можете нажать на сборку, а после завершения сборки вы можете экспортировать / сохранить ее (другие сценарии более сложные).

Меня интересует, как менять состояние кнопок меню при каждом переключении между кадрами: если вы еще не нажали «build», «экспорт» должен быть отключен, ноесли вы переключаетесь в окно, в котором вы уже нажали кнопку «построить», и оно встроено, кнопка «экспорт» должна быть включена.

Есть ли шаблон проектирования для обработки чего-то подобного?Любые известные методы?

1 Ответ

1 голос
/ 27 февраля 2011

Добавьте InternalFrameListener к каждому создаваемому вами внутреннему кадру и прослушивайте internalFrameActivated события.Событие содержит кадр, который был активирован.Задайте этому внутреннему фрейму его состояние, узнайте, построен ли он, и включите / отключите соответствующие пункты меню.

...