Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание меню и его элементов




Создание панели меню и добавление ее в контейнер.

Контейнер может иметь главное меню или, как говорят, панель или строку меню. Главное меню создается на основе класса MenuBar.

Некоторые методы класса MenuBar:

· add - Добавляет меню (объект класса Menu) в данную панель меню

· countMenus - Определение количества меню в данной панели меню

· getMenu - Получение ссылки на меню

· remove - Удаление меню

· setHelpMenu - Установка меню Help

· getHelpMenu - Получение ссылки на меню Help

Для формирования главного меню создается объект класса MenuBar, а затем в него добавляются отдельные меню:

MenuBar mainMenu=new MenuBar(); // создание панели меню

Menu fileMenu=new Menu("File"); // создание меню "File"

Menu helpMenu=new Menu("Help"); // создание меню "Help"

После создания отдельных меню в них можно добавить элементы. Для этого нужно вызвать метод add() класса Menu:

fileMenu.add(new MenuItem("New")); // строка "New" меню "File"

fileMenu.addSeparator(); // горизонтальный разделитель

fileMenu.add(new MenuItem("Exit")); // строка "Exit" меню "File"

helpMenu.add(new MenuItem("Content")); // строка "Content" меню "Help"

helpMenu.add(addSeparator()); // горизонтальный разделитель

helpMenu.add(new MenuItem("About")); // строка "Content" меню " About "

Сформированные отдельные меню добавляются затем к панели меню при помощи метода add() класса MenuBar:

mainMenu.add(fileMenu); // добавить меню "File" в панель меню

mainMenu.add(helpMenu); // добавить меню "Help" в панель меню

Меню добавляются в панель слева направо в том порядке, в каком порядке происходят вызовы метода add() класса MenuBar. Класс MenuBar предоставляет интересную возможность присвоения одному из меню статуса «меню помощи», которая осуществляется следующим образом:

// присвоение меню "Help" статуса «меню помощи»

mainMenu.setHelpMenu(helpMenu);

Метод setHelpMenu() превращает меню helpMenu в меню помощи, перенося его в правый конец панели, отдельно от других меню. Следует обратить внимание, что, прежде чем вызывать метод setHelpMenu(), необходимо добавить это меню в панель меню.

И наконец, теперь можно установить главное меню окна фрейма:

setMenuBar(mainMenu); // установка главного меню окна

При создании меню необходимо реализовать класс Menu для каждого выпадающего меню и класс MenuItem (или его подкласс) для каждого элемента в этом меню.

Некоторые методы класса Menu:

· add - Добавляет элемент (объект класса MenuItem (строку или вложенное меню) или просто строку) в данное меню

· addSeparator - Добавляет горизонтальный разделитель

· countItems - Определение количества элементов в данном меню

· getItem - Получение ссылки на элемент меню

· remove - Удаление элемента меню

· isTearOff() - Проверка того, остается ли меню на экране после того, как пользователь отпустил клавишу мыши

Вот как выглядит объявление и создание нового меню:

Menu mn=new Menu("Operation");

Здесь создается меню с заголовком "Operation" и сохраняется ссылка на него в переменной mn. Есть еще одна интересная возможность - объявление «западающего меню». Это значит, что такое меню останется открытым даже после того, как кнопка мыши будет отпущена. «Западающее меню» создается с помощью следующего конструктора

new Menu("Operation",true);

Теперь создадим элемент cmd меню mn (команды включаются в меню в направлении сверху вниз):

MenuItem cmd=new MenuItem("Command"); // создание элемента cmd

mn.add(cmd); // добавление элемента cmd в меню mn

Так для доступа к пункту меню достаточно его заголовка, то эти два оператора можно объединить:

// добавление элемента "Command" в меню mn

mn.add(new MenuItem("Command"));

В меню можно добавлять не только команды, но и вложенные меню благодаря тому факту, что класс Menu является всего лишь расширением класса MenuItem:

// добавление вложенного меню в меню mn

mn.add(new Menu("Other menu inside mn"));

Классы элементов меню.

Класс MenuItem определяет поведение элементов меню. Пользуясь методами этого класса, можно блокировать или деблокировать отдельные элементы - это нужно делать, например, если в данный момент функция, соответствующая строке меню, недоступна или не определена. Можно также изменять текстовые строки, соответствующие элементам меню, что может пригодиться для переопределения их значения.

Некоторые методы класса MenuItem:

· disable - Блокирование элемента меню

· enable - Разблокирование элемента меню. Другая версия этого метода осуществляет блокировку и разблокировку по условию

· getLabel - Получение текстовой строки элемента меню

· isEnable - Проверка того, является ли элемент заблокированным

· setLabel - Установка текстовой строки элемента меню

Так как класс Menu является всего лишь расширением класса MenuItem, то объекты класса Menu также могут пользоваться методами класса MenuItem.

Специальный тип элемента меню - CheckBoxMenuItem, позволяет использовать элементы меню в качестве селекторов. Если элемент класса CheckBoxMenuItem выбран, то рядом с ним отображается пометка. Для получения состояния такого элемента используется метод getState(), а для установки его состояния - метод setState() класса CheckBoxMenuItem.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 393; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.