Меню — наиболее часто используемые компоненты в графических интерфейсах. Меню не являются подклассами класса Component и не могут быть размещены в обычных контейнерах. Они не ограничены менеджером макета и могут быть размещены только в строке меню.
Компонент меню состоит из трех частей: строка меню (MenuBar), меню (Menu) и пункт меню (MenuItem). Строка меню состоит из нескольких меню, а меню состоит из нескольких пунктов меню. Обычно строка меню размещается в окне Frame, просто вызовите метод setMenuBar() класса Frame.
Обычно используемые меню включают: раскрывающиеся меню и всплывающие меню (отображаются независимо и могут появляться где угодно).
1: Шаги по созданию раскрывающегося меню:
1. Создайте строку меню.
2. Вызовите метод setMenuBar() класса Frame, чтобы добавить в него строку меню.
3. Создайте несколько объектов Menu и добавьте их в MenuBar.
4. Для каждого объекта Menu создайте несколько объектов MenuItem и добавьте их в Menu.
Пример:
Скопируйте код кода следующим образом:
импортировать java.awt.*;
общественный класс MenuDemo {
Кадр f;
МенюБармб;
Меню менюФайл;
MenuItem mItemNew, mItemOpen, mItemSave;
МенюДемо() {
f = new Frame("Экземпляр моего меню");
f.setBounds(300, 100, 400, 300);
mb = новый MenuBar() // Создать строку менюMenuBar;
MenuFile = новое меню («Файл»);
mItemNew = новый MenuItem("Новый");
mItemOpen = новый MenuItem («Открыть»);
MenuFile.add(mItemNew);
mItemSave = новый MenuItem («Сохранить»);
MenuFile.add(mItemOpen);
//Добавляем разделительную линию
менюФайл.addSeparator();
MenuFile.add(mItemSave);
mb.add(файл меню);
// Добавляем меню «Файл» в строку меню
// setMenuBar: установить строку меню этой формы в указанную строку меню.
f.setMenuBar(мб);
f.setVisible(истина);
}
public static void main(String[] args) {
новое МенюДемо();
}
}
Есть картинки и есть правда: (Пункты выпадающего меню не могут быть скриншотами)
2: Шаги по созданию всплывающего меню:
1. Сначала установите самую базовую структуру JFrame.
2. Создайте всплывающее меню (JPopupMenu) и добавьте элемент меню (JMenuItem). 3. Используйте метод add и метод вставки для добавления или вставки в JPopupMenu. 4. Отобразите всплывающее окно, вызвав метод show. соответствующее триггеру всплывающего меню, проверьте все события MouseEvent, чтобы убедиться, что они являются триггерами всплывающего меню, а затем отобразите всплывающее меню, когда это необходимо.
Пример:
Скопируйте код кода следующим образом:
импортировать java.awt.event.*;
импортировать javax.swing.*;
публичный класс JPopMenu_Demo расширяет JFrame {
// Реализация всплывающего меню. Всплывающее меню — это небольшое всплывающее окно, в котором отображается ряд опций.
JPopupMenu popupMenu;
общественный JPopMenu_Demo () {
super("Всплывающее меню, вызываемое щелчком правой кнопкой мыши" // Вызов конструктора родительского класса
// Создание экземпляра всплывающего меню
popupMenu = новый JPopupMenu();
//Добавляем пункты меню в меню
popupMenu.add(new JMenuItem("пункт меню"));
popupMenu.add(новый JButton("Кнопка"));
popupMenu.add(новый JLabel("Метка"));
моиСобытия();
setSize(350, 300); //Установим размер окна
setLocation(400, 200);
setVisible(true); // Делаем окно видимым
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Выход из программы при закрытии окна
}
частная пустота myEvents() {
//Обработка событий мыши в окне
addMouseListener (новый MouseAdapter () {
//щелкаем мышкой
public void mousePressed (событие MouseEvent) {
//Вызов метода триггераEvent для обработки события
триггерEvent (событие);
}
// отпускаем мышь
public void mouseReleased (событие MouseEvent) {
триггерEvent (событие);
}
Private void триггерEvent(MouseEvent event) { // обрабатываем события
// isPopupTrigger(): Возвращает, вызывает ли это событие мыши событие для всплывающего меню платформы.
если (event.isPopupTrigger())
// показываем меню
popupMenu.show(event.getComponent(), event.getX(),
событие.getY());
}
});
}
public static void main(String args[]) {
новый JPopMenu_Demo();
}
}
Есть картинки и правда (но она довольно некрасивая)
Три: Форма вкладки:
1.Основные инструкции:
2. Часто используемые методы:
Мы добавляем несколько объектов JPanel в JTabbedPanel. а потом еще раз
Добавьте в форму JTabbedPanel, код следующий:
Скопируйте код кода следующим образом:
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Установим координаты вкладки;
JPanel p1 = новая JPanel();
JPanel p2 = новый JPanel();
JPanel p3 = новая JPanel();
JPanel p4=new JPanel(); //Создаем несколько контейнеров
jp.add("Форма1", p1);
jp.add("Форма 2", p2);
jp.add("Form 3", p3);//Добавляем подконтейнер и добавляем имя на вкладку
this.add(jp,BorderLayout.CENTER); //Добавляем форму вкладки в основную форму
3. Примеры кода и скриншоты:
Скопируйте код кода следующим образом:
импортировать java.awt.*;
импортировать javax.swing.*;
/**
* <p>Заголовок: Демонстрация вкладок</p>
* <p>Описание: вот демонстрация вкладок. Нажимайте на разные карточки, чтобы отобразить разное содержимое.</p>
*/
общественный класс JTabbedPaneDemo1 расширяет JPanel {
общественный JTabbedPaneDemo1 () {
супер (новый GridLayout (1, 1));
Значок ImageIcon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = новый JTabbedPane ();
Панель компонента1 = makeTextPanel("#Первая карта#");
tabbedPane.addTab("One", icon, Panel1, "Информация о первой карточке!");
tabbedPane.setSelectedIndex(0);
Компонент Panel2 = makeTextPanel("##Вторая карта##");
tabbedPane.addTab("Два", icon, Panel2, "Информация о второй карточке!");
Компонент Panel3 = makeTextPanel("###Третья карта###");
tabbedPane.addTab("Три", icon, Panel3, "Информация о третьей карточке!");
Компонент Panel4 = makeTextPanel("####Четвертая карта####");
tabbedPane.addTab("Четыре", icon, Panel4, "Подсказка четвертой карты!");
//Добавляем вкладку на панель
добавить (tabbedPane);
}
/**
* <br>
* Описание метода: добавление информации на вкладку<br>
* Входной параметр: текстовая строка. Отображаемая информация<br>.
* Тип возвращаемого значения: объект-член компонента.
*/
защищенный компонент makeTextPanel (текст строки) {
Панель JPanel = новая JPanel(false);
JLabel filler = новый JLabel(текст);
filler.setHorizontalAlignment(JLabel.CENTER);
Panel.setLayout(новый GridLayout(1, 1));
Panel.add(наполнитель);
возвратная панель;
}
/**
* <br>
*Описание метода: Получите картинку<br>
* Входные параметры: строковый путь, путь к изображению<br>
* Тип возвращаемого значения: объект изображения ImageIcon.
*/
protected static ImageIcon createImageIcon (строковый путь) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
если (путь!= ноль) {
вернуть новый ImageIcon (путь);
} еще {
System.out.println("Не удалось найти файл: " + путь);
вернуть ноль;
}
}
public static void main(String[] args) {
// Используем описание формы Swing
// JFrame.setDefaultLookAndFeelDecorated(true);
пытаться {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Исключение е) {
}
//Создаем форму
JFrameframe = новый JFrame("TabbedPaneDemo");
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.getContentPane().add(новый JTabbedPaneDemo1(), BorderLayout.CENTER);
// форма отображения
Frame.setSize(400, 200);
Frame.setVisible(истина);
}
}