JMenuBar, which is a drop down menu bar at the top application, and JPopupMenu, a menu you get when you press the button right mouse on a particular area. The menus are comprised of different items:
The components of a menu can be constructed using the JMenuBar, JMenu, JMenultem, JCheckBoxMenultem and JRadioButtonMenultem classes in a way similar to the MenuBar, Menu and Menultem classes of AWT.
When anyone of the menu items in Menu object “BackGround” is selected, the background colour of the frame is changed to the corresponding colour selected in the menu item. In the same way, when any of the menu items in the menu for Foreground is selected, the foreground colour of the frame will change to corresponding colour selected in the menu, which is displayed in the text field. Similarly if the Exit menu item is selected from exit menu, the frame is closed.
Constructors and methods of the JMenuBar class.
Names of methods | Description |
JMenuBar() | Constructs a new menu bar. |
JMenu add(Menu menu) | Adds the menu specified by a parameter, to the end of the menu bar. |
Component getComponentAtlndex (int index) | Returns the component at the specified index passed as a parameter. |
int getComponentlndex(Component c) | Returns the index of the component specified by the parameter. |
JMenugetMenu(int index) | Returns the menu at the specified index that is passed as a parameter to the function. |
int getMenuCount() | Returns the number of menus in the menu bar. |
This is demonstrated in Program
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JMenuBarJavaExample extends JFrame implements ActionListener
{
private JMenuBar MnuBar = new JMenuBar();
private JMenu MnuOne = new JMenu("File");
private JMenu MnuTwo = new JMenu("Colors");
private JMenuItem xit = new JMenuItem("Exit");
private JMenu bright = new JMenu("Bright");
private JMenuItem dark = new JMenuItem("Dark");
private JMenuItem white = new JMenuItem("White");
private JMenuItem pink = new JMenuItem("Pink");
private JMenuItem yellow = new JMenuItem("Yellow");
private JLabel Lbl = new JLabel("Hello");
public JMenuBarJavaExample()
{
setTitle("Menu Bar In java Swing");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
setJMenuBar(MnuBar);
MnuBar.add(MnuOne);
MnuBar.add(MnuTwo);
MnuOne.add(xit);
MnuTwo.add(bright);
MnuTwo.add(dark);
MnuTwo.add(white);
bright.add(pink);
bright.add(yellow);
xit.addActionListener(this);
dark.addActionListener(this);
white.addActionListener(this);
pink.addActionListener(this);
yellow.addActionListener(this);
add(Lbl);
Lbl.setFont(new Font("Times New Roman", Font.BOLD, 22));
}
public void actionPerformed(ActionEvent e)
{
Object src = e.getSource();
Container cntnr = getContentPane();
if(src == xit)
System.exit(0);
else if(src == dark)
cntnr.setBackground(Color.BLACK);
else if(src == white)
cntnr.setBackground(Color.WHITE);
else if(src == pink)
cntnr.setBackground(Color.PINK);
else cntnr.setBackground(Color.YELLOW);
repaint();
}
public static void main(String[] de)
{
JMenuBarJavaExample frm = new JMenuBarJavaExample();
final int WIDTH = 270;
final int HEIGHT = 220;
frm.setSize(500,500);
frm.setVisible(true);
}
}