[an error occurred while processing this directive]

Create a Popup Menu in Java

                         

Here, you will learn how to create a Popup menu in Java. Popup menu is the list of menu which is displayed at that point on the frame where you press the right mouse button. Following figure shows the popup menu when you right click on the frame:

Pop Up Menu on the Frame

This program illustrates you about the creation of the popup menu. Following methods and APIs have been used in this program for getting popup menu:

JPopupMenu:
This is the class which constructs the popup menu using it's constructor. This class is helpful to add the object of the JMenuItem class which creates a particular menu.

isPopupTrigger():
This is the method of the MouseEvent class of the java.awt.event.*; package. This method returns a boolean type value either true or false. This method returns true if the event is generated when the popup is triggered.

mouseReleased
This is the method of the FormView.MouseEventListener class which is imported from the javax.swing.text.html.*; package. This method receives the generated mouse event when the object is release by clicking the mouse.

getX():
This is the method of the MouseEvent class which is imported from the java.awt.event.*; package. This method returns the integer type value which is the position on the x-axis for the source component where you click the mouse.

getY():
This is also the method of the the MouseEvent class. This method returns the vertical positions of the y-coordinate for the source component where you click the mouse.

show(me.getComponent(), me.getX(), me.getY()):
This is the method of JPopupMenu class which displays the popup menu where you press the right mouse button on the specified location or positions. This positions calculated by the getX() and getY().

getComponent():
This is the method of the ComponentEvent class of the java.awt.event.*; package. This method returns the source component of the generated event.

Here is the code of program:

import javax.swing.*;
import java.awt.event.*;

public class PopUpMenu{
  JPopupMenu Pmenu;
  JMenuItem menuItem;
  public static void main(String[] args) {
    PopUpMenu p = new PopUpMenu();
  }

  public PopUpMenu(){
    JFrame frame = new JFrame("Creating a Popup Menu");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Pmenu = new JPopupMenu();
    menuItem = new JMenuItem("Cut");
    Pmenu.add(menuItem);
    menuItem = new JMenuItem("Copy");
    Pmenu.add(menuItem);
    menuItem = new JMenuItem("Paste");
    Pmenu.add(menuItem);
    menuItem = new JMenuItem("Delete");
    Pmenu.add(menuItem);
    menuItem = new JMenuItem("Undo");
    Pmenu.add(menuItem);
    menuItem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){}
      });
    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);
  }
}

Download this program

                         

[an error occurred while processing this directive]