In this section, you will learn how to create a nested popup menu in Java Swing.

Create a Popup Menus with Nested Menus in Java

In this section, you will learn how to create a nested popup
menu in Java Swing. When you click the right mouse button on
the frame then you get a popup menu. Here, you will show multiple menu
items like: line up icon, refresh, properties and new in the list of the menu
which represents the popup menu. The new menu item have another popup menu which
contains items like: folder, text document and shortcut. Following figure shows
the nested popup menu:
createMenu(String):
This method has been used to create a nested list of menus for the 'New' menu
item from the main popup menu list.
Here is the code of program:
import javax.swing.*;
import java.awt.event.*;
public class NestedPopupMenu{
JPopupMenu Pmenu;
JMenuItem Mitem;
public static void main(String[] args) {
NestedPopupMenu n = new NestedPopupMenu();
}
public NestedPopupMenu(){
JFrame frame = new JFrame("Creating a Popup Menu with Nested Menus");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Pmenu = new JPopupMenu();
Mitem = new JMenuItem("Line Up Icon");
Pmenu.add(Mitem);
Mitem = new JMenuItem("Refresh");
Pmenu.add(Mitem);
Mitem = new JMenuItem("Properties");
Pmenu.add(Mitem);
Pmenu.add(createMenu("New"));
frame.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent Me){
if(Me.isPopupTrigger()){
Pmenu.show(Me.getComponent(), Me.getX(), Me.getY());
}
}
});
frame.setSize(400,400);
frame.setVisible(true);
}
public JMenu createMenu(String title){
JMenu m = new JMenu(title);
m.add("Folder");
m.add("Text Document");
m.add("Shortcut");
return m;
}
}
|
Download this example