Рядок меню можна розмістити не тільки зверху вікна, але і знизу і посередині.
Таким чином спочатку створюється рядок меню:
JMenuBar menuBar = new JMenuBar();Щоб помістити рядок меню у верхню частину фрейму пишеться:
frame.SetJMenuBar(menuBar);Далі залишається заповнити його відповідними меню. Для цього для кожного меню створюється свій об’єкт:
JMenu fileMenu=new JMenu(“Файл”); JMenu editMenu=new JMenu(“Редагувати”);Далі усі основні меню додають до рядка меню:
menuBar.add(fileMenu); menuBar.add(editMenu);Аналогічно додємо до меню пункти підменю:
JMenu fileMenu = new JMenu("Файл");
menuBar.add(fileMenu);
JMenuItem openItem = new JMenuItem ("Відкрити");
fileMenu.add(openItem);
Також до пунктів меню можна додати розділювачі:
fileMenu.addSeparator().До кожного пункту меню можна додати зображення та свій обробник події. Наступна програма демонструє створення меню та роботу з ним. ProgramMenu.java
import java.awt.Event;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class ProgramMenu {
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
public static void main(String[] args) {
//створюємо фрейм
JFrame frame = new JFrame();
frame.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//додаємо меню
frame.add(new Menu(frame));
frame.setVisible(true);
}
}
class Menu extends JMenuBar{
public Menu(JFrame frame ){
//створюємо рядок меню
JMenuBar menuBar = new JMenuBar();
//додаємо рядок меню у фрейм
frame.setJMenuBar(menuBar);
//Меню "Файл"
JMenu fileMenu = new JMenu("Файл");
menuBar.add(fileMenu);
//додаємо пункти в меню файл
JMenuItem openItem = new JMenuItem ("Відкрити");
fileMenu.add(openItem);
//додаємо розділювач
fileMenu.addSeparator();
JMenuItem saveItem = new JMenuItem ("Зберегти");
fileMenu.add(saveItem);
//створити меню "закрити" в якому поряд з написом буде зображення
JMenuItem closeItem = new JMenuItem ("Закрити", new ImageIcon("CloseIcon.jpg"));
fileMenu.add(closeItem);
//додаємо обробник подій використавши безіменний внутрішній клас
closeItem.addActionListener(new ActionListener( ) {
@Override
public void actionPerformed(ActionEvent e) { System.exit(0); }
});
// додаємо гарячу клавіші Ctrl-X до пункту "Закрити"
closeItem.setMnemonic(KeyEvent.VK_X);
closeItem.setAccelerator(
KeyStroke.getKeyStroke(KeyEvent.VK_X, Event.CTRL_MASK));
// меню "Вигляд"
JMenu viewMenu = new JMenu("Вигляд");
menuBar.add(viewMenu);
// меню "Допомога"
JMenu helpMenu = new JMenu("Допомога");
menuBar.add(helpMenu);
// можна використати метод add()
// для додавання пунктів в меню зразу ж при створенні
JMenuItem helpItem = helpMenu.add("Довідка");
JMenuItem aboutItem = helpMenu.add("Про програму");
}
}
Повний варіант книги знаходиться на Вікіпідручнику

Немає коментарів:
Дописати коментар