Рядок меню можна розмістити не тільки зверху вікна, але і знизу і посередині.
Таким чином спочатку створюється рядок меню:
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("Про програму"); } }Повний варіант книги знаходиться на Вікіпідручнику
Немає коментарів:
Дописати коментар