简体   繁体   中英

How to delete the selected items in a list in swt

I have created a list and a pop up menu to delete the element? How can I delete the element from the popup menu delete.

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");
    }
});

Below newItem.setText("Delete"); line add the code below(Its adds selection listener to item). Also mark variable selected as final.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM