2014-06-17 80 views
0

我已經創建了一個列表和一個彈出菜單來刪除該元素?我如何從彈出菜單中刪除元素刪除。如何刪除swt中列表中的選定項目

final List list = new List(shell, SWT.BORDER); 
list.add("a"); 
list.add("b"); 
list.add("b"); 
final Menu menu = new Menu(list); 
list.setMenu(menu); 
menu.addMenuListener(new MenuAdapter() 
{ 
    public void menuShown(MenuEvent e) 
    { 
     int selected = list.getSelectionIndex(); 

     if(selected < 0 || selected >= list.getItemCount()) 
      return; 

     MenuItem[] items = menu.getItems(); 
     for (int i = 0; i < items.length; i++) 
     { 
      items[i].dispose(); 
     } 
     MenuItem newItem = new MenuItem(menu, SWT.NONE); 
     newItem.setText("Delete"); 
    } 
}); 
+1

這與'e4'沒有任何關係,因爲這是一種純粹的SWT方式。 –

回答

1

newItem.setText("Delete");下方添加下面的代碼(它將選項監聽器添加到項目中)。同時將變量選爲作爲最終。

newItem.addSelectionListener(new SelectionAdapter() { 
      @Override 
      public void widgetSelected(SelectionEvent e) { 
       list.remove(selected); 
      } 
}); 
+0

感謝它現在工作正常 – vinod

+0

如果它工作,然後接受答案請參閱[如何接受答案](http://stackoverflow.com/help/someone-answers) –