从 JMenu 中删除所有 JMenuItem

发布于 2024-10-16 04:04:53 字数 1152 浏览 7 评论 0原文

我把 JMenu 放下了,除了删除。 :DI 的意思是,我可以执行 popup.remove(NUMBER) 但这可能会导致 NPE 错误。那么,有没有办法从 JMenu 中删除所有 JMenuItems 呢?

如果有人感兴趣的话,这是我的更新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)

I got the JMenu down except for removing. :D I mean, I can do popup.remove(NUMBER) but that can cause NPE errors. So, is there a way to remove all JMenuItems from JMenu?

Here's my update checkPopup() if anyone's interested:

            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
        }
    }

Almost there! :) (yes, I tried Google and JavaDocs)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我一向站在原地 2024-10-23 04:04:53

如果我正确理解了您的要求,那么您需要 JMenu 上的 removeAll() 方法;请参阅此处。

If I've understood what you're after correctly, you want the removeAll() method on JMenu; See the Javadoc here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文