Search code examples
javatreeviewjfaceselectionchanged

Get IStructuredSelection Name


I am using tree viewer to display a list of elements on the selection changed listener I want to get the name of the selected node. Here is my selection listener

 treeViewerSwaComponents.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            IStructuredSelection sel = (IStructuredSelection) event.getSelection();

            if (sel.isEmpty())
                return;

            Component component = (Component) sel.getFirstElement();
            notifyComponentSelection(component);
        }

    });

How can I get the name of the selected node as a string.

Thanks


Solution

  • Assuming your label provider implements ILabelProvider you can use:

    ILabelProvider provider = (ILabelProvider)treeViewerSwaComponents.getLabelProvider();
    
    String name = provider.getText(sel.getFirstElement());