Лабораторная работа: Сериализация объектов

f.setMenuBar(mb);

Если имя mb не понадобится, можно совместить два последних обращения к методам:

f.setMenuBar (new MenuBar());

Разумеется, строка меню еще пуста и пункты меню не созданы.

Каждый элемент строки меню – выпадающее меню(drop-down menu) – это объект класса Menu. Создать эти объекты и занести их в строку меню ничуть не сложнее, чем создать строку меню:

Menu mFile = new Menu («Файл»);

mb.add(mFile);

Menu mEdit = new Menu («Правка»);

mb.add(mEdit);

Menu mView = new Menu («Вид»);

mb.add(mView);

Menu mHelp = new Menu («Справка»);

mb.setHelpMenu(mHelp);

и т.д. Элементы располагаются слева направо в порядке обращений к методам add(), как показано на рисунке 1. Во многих графических системах принято меню Справка (Help) прижимать к правому краю строки меню. Это достигается обращением к методу setHelpMenu(), но фактическое положение меню Справка определяется графической оболочкой.


Рисунок 2. Система меню

Затем определяем каждое выпадающее меню, создавая его пункты. Каждый пункт меню – это объект класса MenuItem. Схема его создания и добавления к меню точно такая же, как и самого меню:

MenuItem create = new MenuItem («Создать»);

mFile.add(create);

MenuItem open = new MenuItem («Открыть…»);

mFile.add(open);

и т.д. Пункты меню будут расположены сверху вниз в порядке обращения к методам add().

Часто пункты меню объединяются в группы. Одна группа от другой отделяется горизонтальной чертой. На рисунке 1 черта проведена между командами Открыть и Отправить. Эта черта создается методом addSeparator() класса Menu или определяется как пункт меню с надписью специального вида – дефисом:

mFile.add (new MenuItem(» –»));

Интересно, что класс Menu расширяет класс MenuItem, а не наоборот. Это означает, что меню само является пунктом меню, и позволяет задавать меню в качестве пункта другого меню, тем самым организуя вложенные подменю:

Menu send = new Menu («Отправить»);

mFile.add(send);

Здесь меню send добавляется в меню mFile как один из его пунктов. Подменю send заполняется пунктами меню как обычное меню.

Часто команды меню создаются для выбора из них каких-то возможностей, подобно компонентам checkbox. Такие пункты можно выделить щелчком кнопки мыши или отменить выделение повторным щелчком. Эти команды – объекты класса CheckboxMenuItem:

К-во Просмотров: 402
Бесплатно скачать Лабораторная работа: Сериализация объектов