Java JPopupMenu
Java JPopupMenu always pop up at any position of a component.JPopup Menu inherits from JComponent class.
How to declare Java JPopupMenu
[class JPopupMenu extends JComponent implements Accessible, MenuElement]
JPopupMenu constructors
- JPopupMenu()-constructs JPopupMenu with no invoker.
- JPopupMenu(String s)-constructs JPopupMenu with a title.
Java JPopupMenu Example
[
import javax.swing.*; import java.awt.event.*; class PopupMenuExample { PopupMenuExample(){ final JFrame frame= new JFrame("PopupMenu Example"); final JPopupMenu menu = new JPopupMenu("Edit"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste"); menu.add(cut); menu.add(copy); menu.add(paste); frame.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { menu.show(frame , e.getX(), e.getY()); } }); frame.add(menu); frame.setSize(300,300); frame.setLayout(null); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String args[]) { new PopupMenuExample(); }}
]
Java JPopupMenu Example with MouseListener and ActionListener
[
import javax.swing.*; import java.awt.event.*; class PopupMenuExample { PopupMenuExample(){ final JFrame frame= new JFrame("PopupMenu Example"); final JPopupMenu menu = new JPopupMenu("Edit"); final JTextArea area=new JTextArea(); area.setSize(200,200); area.setBounds(50,50,200,200); frame.add(area); JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste"); JMenuItem selectAll = new JMenuItem("Select All"); cut.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { area.cut(); } { } }); copy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { area.copy(); } }); paste.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { area.paste(); } }); selectAll.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { area.selectAll(); } }); menu.add(cut); menu.add(copy); menu.add(paste); menu.add(selectAll); frame.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { menu.show(frame , e.getX(), e.getY()); } }); frame.add(menu); frame.setSize(400,400); frame.setLayout(null); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String args[]) { new PopupMenuExample(); }}
]
Output
Code Explanation
- [final JPopupMenu menu = new JPopupMenu("Edit");]-creates JPopupMenu with a string label.
- [final JFrame frame= new JFrame("PopupMenu Example");]-creates a JFrame window.
- [final JTextArea area=new JTextArea();]-creates JTextArea.
Code that performs JTextArea Actions
Code [cut.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
area.cut();
}
{
}
});] performs cut action on JTextArea.
Code [selectAll.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
area.selectAll();
}
});] adds Anonymous class ActionListener to selectAll menu Item.