КАТЕГОРИИ: Архитектура-(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; Просмотров: 423; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |