русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Панели меню и меню


Дата добавления: 2015-06-12; просмотров: 587; Нарушение авторских прав


Окно верхнего уровня может содержать связанную с ним панель меню (menu bar) верхнего уровня. В строке этого меню отображается список выбираемых элементов (выборов, choices). Каждый выбираемый элемент панели меню верхнего уровня связан с выпадающим (drop-down) меню, содержащим свои выбираемые элементы. Эти элементы меню реализованы в Java следующими классами:

MenuBar, Menu и Menuitem.

В общем случае, панель меню содержит один или несколько объектов типа Menu. Каждый Menu-объект содержит список. Любой объект типа MenuItem представляет нечто, что может быть выбрано пользователем. Элементом списка в Menu-объекте может быть не только MenuItem-объект, но и другой Menu-объект со своим списком MenuItem-объектов. Таким образом может быть создана иерархия вложенных подменю. В меню можно также включать специальные элементы — с отметками. Они являются меню-элементами типа checkboxMenuItem и, когда они выбираются, перед ними проставляется специальная метка (check mark).

Чтобы создать панель меню, сначала создают экземпляр типа MenuBar. Этот класс определяет только конструктор по умолчанию. Затем создаются экземпляры типа Menu, которые определяют выбираемые элементы, расположенные на строке меню. Конструкторы класса Menu:

Menu()

Menu (String optionName)

Menu(String optionName, boolean removable)

Здесь optionName специфицирует имя выбираемого элемента меню-панели. Если параметр removable — true, выпадающее меню может быть удалено (из иерархии) и отправлено "в свободное плавание" (по окну). В противном случае это меню останется прикрепленным к панели меню. (Открепляемые меню зависят от реализации.) Первая форма создает пустое меню.

Индивидуальные пункты меню имеют тип MenuItem. В этом классе определены следующие конструкторы:

MenuItem()

MenuItem(String ItemName)



Menuitem (String ItemName, MenuShortcut keyAccel)

где ItemName— имя, показанное в меню; keyAccelклавиши быстрого доступа для этого пункта.

Вы можете деактивизировать или активизировать пункт меню, используя метод setEnabled(). Его формат:

void setEnabled (boolean enabledFlag)

Если параметр enabledFlag— true, пункт меню активизируется, если false — пункт деактивизируется (блокируется).

Можно определять состояние элемента, вызывая isEnabied(). Формат этого метода:

boolean isEnabled()

isEnabied() возвращает true, если пункт меню активизирован. Иначе, возвращается false.

Можно изменять имя пункта меню, вызывая метод setLabel(), и извлекать имя текущего пункта, вызывая метод getLabel(). Форматы этих методов:

void setLabel (String newName)

String getLabelO

где nevName устанавливает новое имя пункта меню. getLabel() возвращает текущее имя.

Можно создавать помечаемый пункт меню, используя подкласс MenuItem с именем CheckboxMenuItem. Он имеет следующие конструкторы:

CheckboxMenuiItem ()

CheckboxMenuItem(String itemName)

CheckboxMenuItem(String itemName, boolean on)

где itemName — имя, показываемое в меню. Отмечаемые пункты работают как флажки. Каждый раз при выборке их состояние изменяется. В первых двух формах создается пункт без отметки. В третьей форме, если параметр on указан как true, создается изначально помеченный пункт, иначе — непомеченный.

Состояние помечаемого пункта можно получить, вызывая getState(). Для установки состояния такого пункта используется метод setsState(). Форматы этих методов:

boolean getState()

void setState (boolean checked)

Если элемент отмечен, getsState() возвращает true, иначе — false. Чтобы пометить пункт, передайте в setState() значение true. Чтобы удалить метку, передайте false.

Как только вы создали пункт меню, следует добавить элемент в объект типа Menu с помощью метода add(), который имеет следующую общую форму:

MenuItem add (MenuItem item)

где item— добавляемый пункт. Пункты добавляются к меню в порядке, в котором выполняются вызовы add(). Объект item используется и как возвращаемое значение.

Как только вы добавили все элементы к Menu-объекту, можно добавить этот объект в строку меню, используя следующую версию метода add(), определенную в MenuBar:

Menu add (Menu menu)

где menu— объект, представляющий как добавляемое меню, так и возвращаемое значение.

Меню генерируют события только тогда, когда выбираются элементы типа MenuItem или checkboxMenuItem. Такие события не генерируются, например, когда обращаются к строке меню, чтобы открыть выпадающее меню. При каждой выборке обычного (без отметки) пункта меню генерируется объект ActionEvent. При очередном сбросе или установке флажка помеченного пункта меню генерируется объект ItemEvent. Таким образом, чтобы обработать эти меню-события, нужно реализовать интерфейсы блоков прослушивания ActionListener и ItemListener.

Метод getItem() класса ItemEvent возвращает ссылку на элемент, который генерировал это событие. Общая форма этого метода:

Object getItem()

Ниже показан пример, который добавляет ряд вложенных меню в окно раскрывающегося меню (второго уровня). Выбранный элемент выделяется в окне инверсной строкой. Отображается также состояние двух помечаемых пунктов меню (один — включен, другой — нет).



<== предыдущая лекция | следующая лекция ==>
Программа 128. Карточная компоновка | Программа 129. Создание меню


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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