📜  Java摇摆 |菜单栏

📅  最后修改于: 2022-05-13 01:55:43.872000             🧑  作者: Mango

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 对象(或子菜单)。

构造函数:

  1. JMenuBar() :创建一个新的菜单栏。
  2. JMenu() :创建一个没有文本的新菜单。
  3. JMenu(String name) :创建一个具有指定名称的新菜单。
  4. JMenu(String name, boolean b) :创建一个具有指定名称和布尔值的新菜单
    value 将其指定为撕下菜单。可以打开撕下菜单并将其拖离其父菜单栏或菜单。

常用方法:

  1. add(JMenu c) :将菜单添加到菜单栏。将 JMenu 对象添加到菜单栏。
  2. add(Component c) :将组件添加到 JMenu 的末尾
  3. add(Component c, int index) :将组件添加到 JMenu 的指定索引
  4. add(JMenuItem menuItem) :将菜单项添加到菜单的末尾。
  5. add(String s) :创建一个带有指定字符串的菜单项并将其附加到菜单的末尾。
  6. 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。