2011-02-02 5 views
2

Я получил JMenu, кроме удаления. : D Я имею в виду, я могу сделать popup.remove(NUMBER), но это может привести к ошибкам NPE. Итак, есть ли способ удалить все JMenuItems от JMenu?Удалить все JMenuItem из 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 
     } 
    } 

Почти там! :) (да, I tried Google и JavaDocs)

+0

причина, по которой ваш поиск в Google не работал, потому что вы искали JListMenu вместо JMenu :-) –

ответ

7

Если я правильно понял, что вы после, вы хотите, чтобы метод removeAll() на JMenu; См. Javadoc here.

+0

Получил, спасибо! – nn2