我创建了一个列表和一个弹出菜单来删除该元素?如何从弹出菜单中删除该元素。
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");
}
});
答案 0 :(得分:1)
在newItem.setText("Delete");
行下方添加以下代码(它将选择侦听器添加到项目中)。同时将变量选中标记为最终。
newItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
list.remove(selected);
}
});