Java Popup Menu
Chapter:
Swing
Last Updated:
14-10-2016 12:41:06 UTC
Program:
/* ............... START ............... */
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class JavaPopupMenu extends JFrame {
private JPopupMenu pmenu;
public JavaPopupMenu() {
initUI();
}
private void initUI() {
createPopupMenu();
setTitle("JPopupMenu");
setSize(300, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void createPopupMenu() {
pmenu = new JPopupMenu();
JMenuItem maxMi = new JMenuItem("Maximize");
maxMi.addActionListener((ActionEvent e) -> {
if (getExtendedState() != JFrame.MAXIMIZED_BOTH) {
setExtendedState(JFrame.MAXIMIZED_BOTH);
}
});
pmenu.add(maxMi);
JMenuItem quitMi = new JMenuItem("Quit");
quitMi.addActionListener((ActionEvent e) -> {
System.exit(0);
});
pmenu.add(quitMi);
addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
pmenu.show(e.getComponent(), e.getX(), e.getY());
}
}
});
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JavaPopupMenu pm = new JavaPopupMenu();
pm.setVisible(true);
});
}
}
/* ............... END ............... */
Output
Notes:
-
Popup Menu is also called a context menu and usually shown when we right click on a component. The idea is to provide only the commands that are relevant in the current context.
Tags
Popup Menu, Swing, Java