Меню в интерфейсе Java

Слайд 2

Создать меню в Java достаточно просто. Сначала создается строка меню. JMenuBar

Создать меню в Java достаточно просто. Сначала создается строка меню.
JMenuBar menuBar

= new JMenuBar();
Строка меню — это обычный компонент, который можно разместить где угодно. Как правило, его помещают в верхнюю часть фрейма с помощью метода setJMenuBar():
frame.setJMenuBar(menuBar);
Для каждого меню создается свой объект:
JMenu editMenu = new JMenu("Edit");
Меню верхнего уровня помещается в строке меню:
menuBar.add(editMenu);
Слайд 3

Затем в объект меню добавляются пункты, разделители и подменю: 1. JMenuItem

Затем в объект меню добавляются пункты, разделители и подменю:
1. JMenuItem pasteItem

= new JMenuItem("Paste");
2. editMenu.add(pasteItem);
3. editMenu.addSeparator();
4. JMenu optionsMenu = ...; // Подменю.
5. editMenu.add(optionsMenu);
Меню и подменю
Слайд 4

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

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

меню надо определить обработчик :
ActionListener listener = ...;
pasteItem.addActionListener(listener);
Существует удобный метод JMenu.add(String), позволяющий добавлять новый пункт в конец меню, например, следующим образом:
edit.Menu.add("Paste");
Этот метод возвращает созданный пункт, для которого можно легко задать обработчик:
JMenuItem pasteItem = editMenu.add("Paste");pasteItem.addActionListener(listener)
Слайд 5

Довольно часто пункты меню связываются с командами, которые могут активировать другие

Довольно часто пункты меню связываются с командами, которые могут активировать

другие элементы пользовательского интерфейса, например, кнопки. В ранних статьях говорилось о том, как задаются команды с помощью объектов Action. Следует определить класс, реализующий интерфейс Action. Обычно для этого класс расширяет AbstractAction. Затем в конструкторе AbstractAction указывается метка пункта меню и переопределяется метод actionPerformed(), что позволяет реализовать обработку события, связанного с данным пунктом. Например:
Action exitAction = new AbstractAction("Exit"); // Пункт меню "Exit".
{
public void actionPerformed(ActionEvent event)
{// Фрагмент программы, обрабатывающий событие.
System.exit(0);
}
};
Слайд 6

Затем добавляется в меню: JMenuItem exitItem = fileMenu.add(exitAction); В результате выполнения

Затем добавляется в меню:
JMenuItem exitItem = fileMenu.add(exitAction);
В результате выполнения данного выражения

в меню добавляется новый пункт. Объект Action становится обработчиком. Такой способ заменят следующие строки кода:
JMenuItem exitItem = new JMenuItem(exitAction);
fileMenu.add(exitItem);
В программах для Windows и Macintosh меню обычно определяются во внешних файлах ресурсов и связываются с приложениями с помощью идентификаторов ресурсов. Меню можно создавать непосредственно в программе, однако, как правило, так не поступают.
В Java меню создаются обычным образом, поскольку возможности взаимодействия с внешними ресурсами еще более ограничены, по сравнению с теми, которые предоставляют среды Windows и Mac OS.
Слайд 7

Создание меню Commands — класс JMenu Buy — класс JMenuItem Goods

Создание меню
Commands — класс JMenu Buy — класс JMenuItem Goods — класс

JMenu • Potatoes — класс JCheckboxMenuItem • Carrots — класс JCheckboxMenuItem • Tomatoes — класс JCheckboxMenuItem • Cucumbers — класс JCheckboxMenuItem • Radishes — класс JCheckboxMenuItem • Red currants — класс JCheckboxMenuItem • Black Currants — класс JCheckboxMenuItem • Raspberries — класс JCheckboxMenuItem • Strawberries — класс JCheckboxMenuItem • Mango — класс JCheckboxMenuItem • Pepsi-Cola — класс JRadioButtonMenuItem (свойство Selected: True) • Coca-Cola — класс JRadioButtonMenuItem (свойство Selected: False) • Fanta — класс JRadioButtonMenuItem (свойство Selected: False) • 7UP — класс JRadioButtonMenuItem (свойство Selected: False) • Mountain Dew — класс JRadioButtonMenuItem (свойство Selected: False) • STIMOROL PRO-Z — класс JRadioButtonMenuItem (свойство Selected: True) • DIROL — класс JRadioButtonMenuItem (свойство Selected: False) • ORBIT — класс JRadioButtonMenuItem (свойство Selected: False)
Слайд 8

Слайд 9

Спасибо за внимание!!

Спасибо за внимание!!

Слайд 10

Слайд 11

Слайд 12

Слайд 13

Слайд 14

Слайд 15

Слайд 16

Слайд 17

Слайд 18

Слайд 19

Слайд 20

Слайд 21

Слайд 22

Слайд 23

Слайд 24

Слайд 25

Слайд 26

Слайд 27

Слайд 28

Слайд 29