Я написал простую программу, чтобы понять, как работает JPopupMenu
. Но что-то не так с моим кодом, всплывающее меню не отображается правильно. Пожалуйста, может кто-нибудь сказать мне причину?
public class PopUpMenu extends JFrame implements ActionListener {
JPanel panel;
JPopupMenu popMenu;
JMenuItem cut;
JMenuItem copy;
public PopUpMenu() {
setVisible(true);
setSize(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
panel = new JPanel();
popMenu = new JPopupMenu();
cut = new JMenuItem();
popMenu.add(cut);
copy = new JMenuItem();
popMenu.add(copy);
add(panel);
panel.setComponentPopupMenu(popMenu);
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent Me) {
if (Me.isPopupTrigger()) {
popMenu.show(Me.getComponent(), Me.getX(), Me.getY());
}
}
});
}
public void actionPerformed(ActionEvent arg0) {
}
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
PopUpMenu pop = new PopUpMenu();
}
};
SwingUtilities.invokeLater(r);
}
}