// show popup menu on right click only when a condition is met svoid makePopupMenuConditional(JComponent c, F0 condition) { if (c != null) swing { final componentPopupMenu_Adapter adapter = firstInstanceOf(c.getMouseListeners(), componentPopupMenu_Adapter); c.removeMouseListener(adapter); c.addMouseListener(new MouseAdapter { public void mousePressed(MouseEvent e) { if (!enabled) adapter.mousePressed(e); } public void mouseReleased(MouseEvent e) { if (!enabled) adapter.mouseReleased(e); } }); } }