Adding JPopupMenu to JPanel
java, jpopupmenu, swing
Solution
Works for me when added to a `JPanel`.
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
public class Formatka extends JPanel {
private JMenuItem klienciMenuItem = new JMenuItem("Klienci");
private JPopupMenu menuPopup = new JPopupMenu();
public Formatka() {
this.add(new JLabel("Right-click for popup menu."));
menuPopup.add(klienciMenuItem);
this.setComponentPopupMenu(menuPopup);
}
private void display() {
JFrame f = new JFrame("Formatka");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(this);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Formatka().display();
}
});
}
}
Problem
My code: ``` class PanelGlowny extends JPanel implements ActionListener{} public class Formatka extends JFrame implements ActionListener{ private JMenuItem klienciMenuItem = new JMenuItem("Klienci"); private JPopupMenu menuPopup = new JPopupMenu(); private PanelGlowny panelGlowny = new PanelGlowny(); public Formatka() { add(panelGlowny, BorderLayout.CENTER); menuPopup.add(klienciMenuItem); panelGlowny.setComponentPopupMenu(menuPopup); } } ``` And i do not see popupmenu when i click right button on mouse. Why?