import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.border.TitledBorder; public class PopupMenuSample3 { private JPopupMenu popupMenu; public PopupMenuSample3() { JFrame frame = new JFrame("PopupMenu Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationByPlatform(true); frame.setSize(200, 200); popupMenu = new JPopupMenu(); popupMenu.add(new JMenuItem("item 1")); popupMenu.add(new JMenuItem("item 2")); popupMenu.add(new JMenuItem("item 3")); ((JComponent)frame.getContentPane()).setComponentPopupMenu(popupMenu); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new TitledBorder("JPanel")); frame.getContentPane().add(panel); panel.setInheritsPopupMenu(true); JPanel panel2 = new JPanel(); panel2.setLayout(new BorderLayout()); panel2.setBorder(new TitledBorder("JPanel")); panel.add(panel2); panel2.setInheritsPopupMenu(true); JButton button = new JButton("Button"); button.setBorder(new TitledBorder("JButton")); panel2.add(button); button.setInheritsPopupMenu(true); frame.setVisible(true); } public static void main(String[] args) { new PopupMenuSample3(); } }