Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_KAZYMYR.doc
Скачиваний:
14
Добавлен:
09.11.2019
Размер:
3.71 Mб
Скачать

Лабораторна робота 7 розробка меню в java

Дана лабораторна робота знайомить із засобами, які надає JBuilder для розробки меню. Ви навчитеся створювати головне меню програми, вкладені меню, а також спливаючі меню.

Як і Delphi, середовище Jbuilder містить компонент “Меню”. Він являє собою контейнер. Тому меню в JBuilder – це система вкладених друг у друга контейнерів. Основний контейнер – це компонент типу MenuBar (JMenuBar). У ньому розміщуються інші компоненти, які реалізуються класами Menu (JMenu).

Основними елементами меню є:

  • лінійка меню (MenuВаг) – контейнер верхнього рівня, що містить всі інші елементи меню;

  • пункт меню (Menu) – елементи меню, об'єднані в один список;

  • команда меню (MenuItem) – один з пунктів меню;

  • підміню (Submenu) – меню, що з'являється при виборі елемента меню зі стрілкою вправо. Цей елемент меню повинен бути пов'язаний з іншим меню, що буде відображатися в цьому випадку;

  • роздільник (Separator) – смуга, що служить для візуального поділу різних груп елементів меню у вкладеному меню;

  • прапорці меню (CheckboxMenuItem) — це елементи меню, які містять прапорці;

  • перемикачі меню (RadioButtonMenuItem) — елементи меню, які працюють за принципом перемикачів;

  • гарячі клавіші (Keyboard Shortcut) – комбінації клавіш, які відображаються праворуч від елемента меню й служать для швидкого виконання даного елемента меню.

Засоби створення меню

В JBuilder є убудований засіб для створення меню – дизайнер меню (Menu Designer). Для того, щоб відкрити дизайнер меню, необхідно перебувати на вкладці Design панелі редагування.

Для використання дизайнера меню спочатку потрібно вибрати компонент меню, з яким ви хочете працювати й помістити його у вікно дизайнера. Для цього необхідно виконати наступні кроки:

  1. Клацнути лівою кнопкою миші на одному з компонентів:

  • на вкладці Swing Containers палітри компонентів: JMenuBar або JPopUpMenu;

  • на вкладці AWT палітри компонентів: MenuBar або РорUрMenu.

  1. Помістити обраний компонент у будь-яке місце вікна дерева компонентів або вікна дизайнера. Компонент буде автоматично перенесений у папку Menu вікна дерева компонентів.

Для переходу у вікно дизайнера меню ви можете скористатися одним із трьох способів:

  1. Двічі клацнути лівою кнопкою миші на компоненті меню у вікні дерева компонентів.

  1. Вибрати компонент меню в дереві компонентів і натиснути клавішу Enter.

  2. Клацнути правою кнопкою миші на компоненті меню й вибрати в меню, що випадає, пункт Activate Designer.

Палітра інструментів вікна дизайнера меню складається із семи піктограм:

  1. Вставляє порожнє місце для нового пункту меню ліворуч від обраного пункту меню. Також вставляє місце для нового елемента меню вище обраного елемента меню.

  1. Вставляє роздільник вище обраного елемента меню.

  2. Додає нове порожнє місце для пов'язаного з даним елемент меню підміню й малює стрілку, що вказує вправо, праворуч даного елемента меню.

  3. Видаляє обраний елемент меню, включаючи всі його підменю, її такі є.

  4. Перемикає властивість Enabled для даного пункту меню в true або false. У такий спосіб робить даний пункт меню активним або пасивним (відображається сірим цвітом і не доступно для користувача).

  5. Робить даний пункт меню прапорцем меню.

  6. Робить даний пункт меню перемикачем меню.

Створення меню

Створимо просте меню для нової програми. Для цього, при використанні майстра створення програми (вибрати File | New, потім вибрати піктограму Application), вказати прапорець Generate menu bar. Тоді в знову створеному вікні програми вже буде присутній компонент головного меню JmenuBar, у якому будуть готові пункти File і Help. Вигляд середовища після створення вікна програми з меню показаний на рис. 7.1.

Рис. 7.1. Вигляд вікна програми з меню в середовищі Delphi

Можна змінити назви пунктів і елементів меню, а також додати нові, якщо це необхідно. Для зміни або введення нової назви пункту або елемента меню потрібно спочатку вибрати його, клацнувши лівою кнопкою миші (при цьому пункт або елемент меню підсвітиться синім), а потім ввести назву. Для додавання або видалення пунктів або елементів меню користуйтеся палітрою інструментів дизайнера меню, а також, що випадає меню, що з'являється при натисканні правої кнопки миші. Це меню, що випадає, містить ті ж функції, які реалізуються палітрою інструментів дизайнера меню.

Код додатка, що містить меню, після цього прийме вигляд, показаний у листингу 7.1:

Листинг 7.1.

//Код програми, що містить меню

package untitled1; // Назва пакета вашого проекту

// Імпортовані бібліотеки компонентів

import java.awt.*;

import java.awt.event.*;

i mport javax.swing.*;

// Коментарі JavaDoc

/**

* <p>Title: </p>

* <p>Description: </p>

* <p>Copyright: Copyright (c) 2007</p>

* <p>Company: </p>

* @author unascribed

* @version 1.0

*/

//Оголошення нового класу Frame1 на основі JFrame

public class Frame1 extends JFrame {

private JPanel contentPane;

private JMenuBar jMenuBar1 = new JMenuBar();

private JMenu jMenuFile = new JMenu();

private JMenuItem jMenuFileExit = new JMenuItem();

private JMenu jMenuHelp = new JMenu();

private JMenuItem jMenuHelpAbout = new JMenuItem();

private BorderLayout borderLayout1 = new BorderLayout();

private JMenuItem jMenuItem1 = new JMenuItem();

private JPopupMenu jPopupMenu1 = new JPopupMenu();

private JMenuItem jMenuItem2 = new JMenuItem();

private JMenuItem jMenuItem3 = new JMenuItem();

private JMenuItem jMenuItem4 = new JMenuItem();

private JPanel jPanel1 = new JPanel();

// Конструктор контейнера Frame1

public Frame1() {

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

try {

jbInit();

}

catch(Exception e) {

e.printStackTrace();

}

}

//Ініціалізація компонента

private void jbInit() throws Exception {

contentPane = (JPanel) this.getContentPane();

contentPane.setLayout(borderLayout1);

this.setSize(new Dimension(400, 300));

this.setTitle("Frame Title");

jMenuFile.setText("Файл");

jMenuFileExit.setText("Exit");

jMenuFileExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

jMenuFileExit_actionPerformed(e);

}

});

// Установка назв пунктів меню

jMenuHelp.setText("Допомога");

jMenuHelpAbout.setText("About");

jMenuHelpAbout.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

jMenuHelpAbout_actionPerformed(e);

}

});

jMenuItem2.setText("Відкрити");

jMenuItem3.setText("Зберегти");

jMenuItem4.setText("Відновити");

jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(MouseEvent e) {

jPanel1_mouseClicked(e);

}

});

jMenuFile.add(jMenuFileExit);

jMenuFile.add(jMenuItem1);

jMenuHelp.add(jMenuHelpAbout);

jMenuBar1.add(jMenuFile);

jMenuBar1.add(jMenuHelp);

jPopupMenu1.add(jMenuItem2);

jPopupMenu1.add(jMenuItem3);

jPopupMenu1.add(jMenuItem4);

contentPane.add(jPanel1, BorderLayout.CENTER);

this.setJMenuBar(jMenuBar1);

}

// Дія програми при виборі Файл/Вихід

public void jMenuFileExit_actionPerformed(ActionEvent e) {

System.exit(0);

}

// Дія програми при виборі Допомога/Про програму

public void jMenuHelpAbout_actionPerformed(ActionEvent e){

// Тут повинен бути код, що викликає вікно "Про програму"

}

//Вихід при закритті вікна

protected void processWindowEvent(WindowEvent e) {

super.processWindowEvent(e);

if (e.getID() == WindowEvent.WINDOW_CLOSING) {

jMenuFileExit_actionPerformed(null);

}

}

}

Для створення підміню виберіть елемент меню, для якого буде створюватися вкладене меню, і натисніть кнопку палітри інструментів, котра застосовується для вставки вкладених меню. Наберіть назву для нового елемента вкладеного меню й натисніть клавішу Enter для переходу до наступного елемента вкладеного меню.

Для створення спливаючого меню виконайте нижчеподану послідовність дій:

  1. На вкладці Design панелі компонентів виберіть компонент jPopupMenu (вкладка Swing Containers) або компонент PopupMenu (вкладка AWT). Помістите обраний компонент у дерево компонентів.

  1. Двічі клацніть лівою кнопкою миші по компоненті в дереві компонентів для відкриття вікна дизайнера меню.

  2. Додайте необхідну кількість елементів меню.

  3. Виберіть у вікні дерева компонентів this (BorderLayout) і клацніть по ньому двічі лівою кнопкою миші для повернення на панель редагування.

  4. Виберіть компонент, до якого буде прив'язане спливаюче меню, наприклад Jpanel.

  5. Запустіть програму на виконання, натиснувши F9.

Вигляд вікна програми, що виконується, показаний на рис. 7.2.

Рис. 7.2. Вигляд вікна програми, що виконується

Завдання для самостійної роботи:

Додайте в меню програми додаткові пункти “Вигляд”, “Редагування”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]