如何在swt中删除列表中的选定项目

时间:2014-06-17 05:42:53

标签: java list 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 个答案:

答案 0 :(得分:1)

newItem.setText("Delete");行下方添加以下代码(它将选择侦听器添加到项目中)。同时将变量选中标记为最终。

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