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:

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

|
Current Comments
1 comments so far (post your own) View All Comments Latest 10 Comments:HI ,
In my application i have field(JTextField). I would like to change it to a drop down field where i can select the date. Can i know how can i do it.
Thanks in Advance
Raghu.........
Posted by Raghu on Friday, 12.21.07 @ 11:47am | #43199