Java摇摆 |菜单栏
JMenuBar、JMenu 和 JMenuItems 是Java Swing 包的一部分。 JMenuBar 是菜单栏的一个实现。 the JMenuBar contains one or more JMenu objects, when the JMenu objects are selected they display a popup showing one or more JMenuItems .
JMenu 基本上代表一个菜单。它包含几个 JMenuItem 对象。它还可能包含 JMenu 对象(或子菜单)。
构造函数:
- JMenuBar() :创建一个新的菜单栏。
- JMenu() :创建一个没有文本的新菜单。
- JMenu(String name) :创建一个具有指定名称的新菜单。
- JMenu(String name, boolean b) :创建一个具有指定名称和布尔值的新菜单
value 将其指定为撕下菜单。可以打开撕下菜单并将其拖离其父菜单栏或菜单。
常用方法:
- add(JMenu c) :将菜单添加到菜单栏。将 JMenu 对象添加到菜单栏。
- add(Component c) :将组件添加到 JMenu 的末尾
- add(Component c, int index) :将组件添加到 JMenu 的指定索引
- add(JMenuItem menuItem) :将菜单项添加到菜单的末尾。
- add(String s) :创建一个带有指定字符串的菜单项并将其附加到菜单的末尾。
- getItem(int index) :返回给定索引处的指定菜单项
以下程序将说明 JMenuBar 的使用
1. 程序制作一个 MenuBar 并向其添加菜单项
// Java program to construct
// Menu bar to add menu items
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class menu extends JFrame {
// menubar
static JMenuBar mb;
// JMenu
static JMenu x;
// Menu items
static JMenuItem m1, m2, m3;
// create a frame
static JFrame f;
public static void main()
{
// create a frame
f = new JFrame("Menu demo");
// create a menubar
mb = new JMenuBar();
// create a menu
x = new JMenu("Menu");
// create menuitems
m1 = new JMenuItem("MenuItem1");
m2 = new JMenuItem("MenuItem2");
m3 = new JMenuItem("MenuItem3");
// add menu items to menu
x.add(m1);
x.add(m2);
x.add(m3);
// add menu to menu bar
mb.add(x);
// add menubar to frame
f.setJMenuBar(mb);
// set the size of the frame
f.setSize(500, 500);
f.setVisible(true);
}
}
输出 :
2.程序添加菜单栏并添加菜单项,子菜单项以及将ActionListener添加到菜单项
// Java program Program to add a menubar
// and add menuitems, submenu items and also add
// ActionListener to menu items
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class menu1 extends JFrame implements ActionListener {
// menubar
static JMenuBar mb;
// JMenu
static JMenu x, x1;
// Menu items
static JMenuItem m1, m2, m3, s1, s2;
// create a frame
static JFrame f;
// a label
static JLabel l;
// main class
public static void main()
{
// create an object of the class
menu1 m = new menu1();
// create a frame
f = new JFrame("Menu demo");
// create a label
l = new JLabel("no task ");
// create a menubar
mb = new JMenuBar();
// create a menu
x = new JMenu("Menu");
x1 = new JMenu("submenu");
// create menuitems
m1 = new JMenuItem("MenuItem1");
m2 = new JMenuItem("MenuItem2");
m3 = new JMenuItem("MenuItem3");
s1 = new JMenuItem("SubMenuItem1");
s2 = new JMenuItem("SubMenuItem2");
// add ActionListener to menuItems
m1.addActionListener(m);
m2.addActionListener(m);
m3.addActionListener(m);
s1.addActionListener(m);
s2.addActionListener(m);
// add menu items to menu
x.add(m1);
x.add(m2);
x.add(m3);
x1.add(s1);
x1.add(s2);
// add submenu
x.add(x1);
// add menu to menu bar
mb.add(x);
// add menubar to frame
f.setJMenuBar(mb);
// add label
f.add(l);
// set the size of the frame
f.setSize(500, 500);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
// set the label to the menuItem that is selected
l.setText(s + " selected");
}
}
输出:
注意:以下程序可能无法在在线编译器中运行,请使用离线 IDE。