Java Swing | JMenuBar

20 May, 2022
JMenuBar, JMenu and JMenuItems are a part of Java Swing package. JMenuBar is an implementation of menu bar . the JMenuBar contains one or more JMenu objects, when the JMenu objects are selected they display a popup showing one or more JMenuItems . JMenu basically represents a menu . It contains several JMenuItem Object . It may also contain JMenu Objects (or submenu). Constructors :
JMenuBar() : Creates a new MenuBar.JMenu() : Creates a new Menu with no text.JMenu(String name) : Creates a new Menu with a specified name.JMenu(String name, boolean b) : Creates a new Menu with a specified name and boolean value specifies it as a tear-off menu or not. A tear-off menu can be opened and dragged away from its parent menu bar or menu.
JMenuBar() : Creates a new MenuBar.
JMenu() : Creates a new Menu with no text.
JMenu(String name) : Creates a new Menu with a specified name.
JMenu(String name, boolean b) : Creates a new Menu with a specified name and boolean value specifies it as a tear-off menu or not. A tear-off menu can be opened and dragged away from its parent menu bar or menu.
Commonly used methods:
add(JMenu c) : Adds menu to the menu bar. Adds JMenu object to the Menu bar.add(Component c) : Add component to the end of JMenuadd(Component c, int index) : Add component to the specified index of JMenuadd(JMenuItem menuItem) : Adds menu item to the end of the menu.add(String s) : Creates a menu item with specified string and appends it to the end of menu.getItem(int index) : Returns the specified menuitem at the given index
add(JMenu c) : Adds menu to the menu bar. Adds JMenu object to the Menu bar.
add(Component c) : Add component to the end of JMenu
add(Component c, int index) : Add component to the specified index of JMenu
add(JMenuItem menuItem) : Adds menu item to the end of the menu.
add(String s) : Creates a menu item with specified string and appends it to the end of menu.
getItem(int index) : Returns the specified menuitem at the given index
The following programs will illustrate the use of JMenuBar 1. Program to make a MenuBar and add menu items to it 
Java
// Java program to construct// Menu bar to add menu itemsimport 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);    }}
Output :  2. Program to add a menubar and add menuitems, submenu items and also add ActionListener to menu items 
Java
// Java program  to add a menubar// and add menuitems, submenu items and also add// ActionListener to menu itemsimport 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");    }}
Output: Note : The following program might not run in an online compiler, please use an offline IDE.
sweetyty
java-swing
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
ArrayList in Java
Initializing a List in Java
Java Programming Examples
Convert a String to Character Array in Java
Convert Double to Integer in Java
Implementing a Linked List in Java using Class