Disable Tab key to transfer focus for Combo : Combo Event « SWT « Java Tutorial






Disable Tab key to transfer focus for Combo
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.TraverseEvent;
import org.eclipse.swt.events.TraverseListener;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class ComboTransferFocus {

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new RowLayout());

    Text text = new Text(shell, SWT.SINGLE|SWT.BORDER);
    text.setText("Press TAB");
    
    Combo combo = new Combo(shell, SWT.NONE);
    combo.setItems(new String[] { "Press enter to select", "B-1", "C-1" });

    combo.addTraverseListener(new TraverseListener() {
      public void keyTraversed(TraverseEvent e) {
        if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
          e.doit = false;
          e.detail = SWT.TRAVERSE_NONE;
        }
      }
    });

    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    display.dispose();
  }
}








17.12.Combo Event
17.12.1.Add selection listener to ComboAdd selection listener to Combo
17.12.2.Combo default selection event (Return/Enter key)Combo default selection event (Return/Enter key)
17.12.3.To track the user's selection (DefaultSelection)To track the user's selection (DefaultSelection)
17.12.4.Add TraverseListener to ComboAdd TraverseListener to Combo
17.12.5.Disable Tab key to transfer focus for ComboDisable Tab key to transfer focus for Combo