Milad Khajavi
Milad Khajavi

Reputation: 2859

SWT: How to find which item is selected?

I have implemented a class like this:

public class ToolbarExample implement SelectionListener {
        ToolbarExample() {
                 //constructor ....

         openMenuItem.addSelectionListener(this);
         closeMenuItem.addSelectionListener(this);
        }

    @Override
public void widgetDefaultSelected(SelectionEvent e) {

}

@Override
public void widgetSelected(SelectionEvent e) {
               switch(e.???) {
               case openMenu Selected: open(); break;
               case closeMenu Selected: close(); break;          
}
}

which method can I use with SelectionEvent? e.(???)

Updated: after running Fred example code I debug the code, but e.item is null! enter image description here

Upvotes: 1

Views: 3212

Answers (1)

Fred
Fred

Reputation: 5006

The following code gives you the selected widget.

e.item or e.getSource()

Sample

public void widgetSelected(SelectionEvent e) {
  Widget selectedItem = (e.item != null) ? e.item : e.getSource();
  if (selectedItem  == openMenu) {
    open();
  else if(selectedItem == closeMenu) {
    close();
  }
}

Upvotes: 3

Related Questions