Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. HLA - система; классы антигенов, биологические функции, практическое значение HLA-типирования.
  2. MyString классын жазыныз. 3
  3. АВТОМОБИЛИ УЧАСТНИКОВ. КЛАССЫ. ОБЯЗАТЕЛЬНЫЕ НАДПИСИ.
  4. Б. Классы статистического риска (лица с нормальной толерантностью к глюкозе, но со значительно повышенным риском развития сахарного диабета)
  5. Большие классы слегка проблемны. (Вероятно.) Но большие школы - никуда не годятся. (Абсолютно.)
  6. Будем считать, что объявили массив из 10 элементов.
  7. Вы можете себя считать успешным инструктором, если ваши классы заполнены!

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

Следующий класс Menu на полосе меню отображается как пункт выбора, который, если по нему щелкнуть, раскрывается в виде странички с пунктами выбора (Popup menu).

Сами же элемены выбора меню обычно реализуются как экземпляры классов MenuItem (простой элемент выбора) и CheckboxMenuItem (отмечаемый элемент выбора).

Взгляните на пример создания полнофункциональной полосы меню:

import java.awt.*;

import java.awt.event.*;

public class NewWindow extends Frame {

NewWindow(String s) {

super(s);

// Создаем полосу меню

MenuBar menuBar = new MenuBar();

// Добавление полосы меню в окно класса Frame

setMenuBar(menuBar);

// Создаем первое меню

Menu menu1 = new Menu("Меню 1", true);

menuBar.add(menu1);

// Создать и добавить первый пункт первого меню

// Это обычный элемент меню

MenuItem item1_1 = new MenuItem("Пункт #1");

menu1.add(item1_1);

// Создать и добавить второй пункт первого меню

// Это отмечаемый элемент меню

CheckboxMenuItem item1_2 = new CheckboxMenuItem("Пункт #2");

menu1.add(item1_2);

// Создать и добавить второе меню

Menu menu2 = new Menu("Меню 2");

menuBar.add(menu2);

// Создать и добавить меню следующего уровня

Menu nextLevel = new Menu("Следующий уровень меню");

menu2.add(nextLevel);

}

public static void main(String[] args){

Frame f = new NewWindow("Меню");

f.setSize(250, 200);

f.setLayout(null);

f.setVisible(true);

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev){

System.exit(0);

}

});

}

}

Как видите, создание меню хотя и длительный, но вовсе не сложный процесс. Если вы обратили внимание, то во второе меню добавляется не пункт выбора класса MenuItem, а меню класса Menu. Это приводит к тому, что при нажатии на пункт 2 полосы меню рядом появляется следующее меню, выбрав из которого Следующий уровень меню получили очередное меню. Таким способом в Java реализовано каскадирование меню.

Результат кода программы показан на следующих рисунках:

 


Дата добавления: 2015-10-29; просмотров: 93 | Нарушение авторских прав


Читайте в этой же книге: Операторы цикла do-while, while, for | Оператор continue | Определение методов | Перегрузка конструктора | Абстрактные методы | Иерархия классов-исключений | Модель обработки исключений | Концепции AWT | Компоненты AWT | TextComponent |
<== предыдущая страница | следующая страница ==>
CheckboxGroup| Абсолютное позиционирование

mybiblioteka.su - 2015-2024 год. (0.007 сек.)