2

除了删除之外,我把 JMenu 放下了。:DI 的意思是,我可以这样做,popup.remove(NUMBER)但这会导致 NPE 错误。那么,有没有办法从 中删除所有JMenuItems内容JMenu

checkPopup()如果有人感兴趣,这是我的更新:

            private void checkPopup(MouseEvent e)
    {
        if (e.isPopupTrigger())
        {

            int itemSelectx = listbox.getSelectedIndex();
            Object actItemx = listbox.getModel().getElementAt(itemSelectx);
            System.out.println("You pressed on " + actItemx);

        if (actItemx == "Item 1") {
            popup.add(cancelMenuItem); // add the ability to cancel an item
            popup.add(dropMenuItem); // add ability to drop the item
        }

            popup.show(inv.this, e.getX(), e.getY()); // show item at mouse
            popup.revalidate(); // revalidate
            //popup.remove(0); // removing first (0) menu item
        }
    }

差不多好了!:) (是的,我试过 Google和 JavaDocs)

4

1 回答 1

7

如果我已经正确理解了您的要求,那么您希望使用该removeAll()方法JMenu请参阅此处的 Javadoc 。

于 2011-02-02T23:39:59.413 回答