2011-02-02 28 views
2

除了刪除之外,我得到了JMenu。 :D我的意思是,我可以做popup.remove(NUMBER)但這可能會導致NPE錯誤。那麼,有沒有辦法從JMenu中刪除所有JMenuItems從JMenu中刪除所有JMenuItem

這裏是我的更新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 
     } 
    } 

快到了! :)(是的,我tried Google和JavaDocs)

+0

您的谷歌搜索沒有工作是因爲你找JListMenu代替JMenu的:-) – 2011-02-02 23:42:58

回答

7

如果我已經正確地理解了你的東西,你想要removeAll()方法JMenu;請參閱Javadoc here

+0

的原因明白了,謝謝! – nn2 2011-02-02 23:50:51