Menus, Toggles and Right-Click Popups

Site Admin · 11 Sep 2026 · 2 views

JMenuBar

Swing menus are built like AWT but into a JMenuBar:

JMenuBar bar = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem open = new JMenuItem("Open", new ImageIcon("open.png"));
file.add(open);
bar.add(file);
setJMenuBar(bar);

Swing JMenu demo

JToggleButton

A button that stays pressed until clicked again - good for tool toggles:

JToggleButton bold = new JToggleButton("B");
bold.isSelected();   // true when held down

JToggleButton selected state

JToggleButton unselected state

Popup Menus (Right-Click)

Create a JPopupMenu and show it on the mouse popup trigger:

JPopupMenu popup = new JPopupMenu();
popup.add(new JMenuItem("Cut"));
popup.add(new JMenuItem("Copy"));
popup.add(new JMenuItem("Paste"));

panel.addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent e) { maybeShow(e); }
    public void mouseReleased(MouseEvent e) { maybeShow(e); }
    void maybeShow(MouseEvent e) {
        if (e.isPopupTrigger()) popup.show(panel, e.getX(), e.getY());
    }
});

Swing right click popup menu

Key Points

  • JMenuBar holds JMenu items; JMenuItem can carry icons and keyboard shortcuts.
  • JToggleButton keeps its pressed state.
  • Show JPopupMenu on isPopupTrigger() for both mouse buttons.
Share this post:

Comments (0)

Please login or register to comment.