Skip to content
Related Articles

Related Articles

Improve Article

Java Swing | JMenuBar

  • Last Updated : 07 May, 2018

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 :

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

  1. JMenuBar() : Creates a new MenuBar.
  2. JMenu() : Creates a new Menu with no text.
  3. JMenu(String name) : Creates a new Menu with a specified name.
  4. 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:

  1. add(JMenu c) : Adds menu to the menu bar. Adds JMenu object to the Menu bar.
  2. add(Component c) : Add component to the end of JMenu
  3. add(Component c, int index) : Add component to the specified index of JMenu
  4. add(JMenuItem menuItem) : Adds menu item to the end of the menu.
  5. add(String s) : Creates a menu item with specified string and appends it to the end of menu.
  6. 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 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);
    }
}

Output :

2. Program to add a menubar and add menuitems, submenu items and also add ActionListener to menu items




// 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");
    }
}

Output:

Note : The following program might not run in an online compiler, please use an offline IDE.




My Personal Notes arrow_drop_up
Recommended Articles
Page :