Key Listener Example : Event « SWT JFace Eclipse « Java






Key Listener Example

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class KeyListenerExample {

  Display d;

  Shell s;

  KeyListenerExample() {

    d = new Display();
    s = new Shell(d);

    s.setSize(250, 200);
    
    s.setText("A KeyListener Example");
    s.setLayout(new RowLayout());

    final Combo c = new Combo(s, SWT.DROP_DOWN | SWT.BORDER);
    c.add("Lions");
    c.add("Tigers");
    c.add("Bears");
    c.add("Oh My!");

    c.addKeyListener(new KeyListener() {
      String selectedItem = "";

      public void keyPressed(KeyEvent e) {
        if (c.getText().length() > 0) {
          return;
        }
        String key = Character.toString(e.character);
        String[] items = c.getItems();
        for (int i = 0; i < items.length; i++) {
          if (items[i].toLowerCase().startsWith(key.toLowerCase())) {
            c.select(i);
            selectedItem = items[i];
            return;
          }
        }
      }

      public void keyReleased(KeyEvent e) {
        if (selectedItem.length() > 0)
          c.setText(selectedItem);
        selectedItem = "";
      }
    });
    s.open();
    while (!s.isDisposed()) {
      if (!d.readAndDispatch())
        d.sleep();
    }
    d.dispose();
  }

  public static void main() {
    new KeyListenerExample();
  }

}


           
       








Related examples in the same category

1.ModifyEvent: Temperature Converter JFaceModifyEvent: Temperature Converter JFace
2.Mouse Event Listener Mouse Event Listener
3.Utility class for event handling
4.Demonstrates various listenersDemonstrates various listeners
5.Demonstrates mouse eventsDemonstrates mouse events
6.Demonstrates ControlListenersDemonstrates ControlListeners
7.SelectionListener and DisposeListenerSelectionListener and DisposeListener
8.Demonstrates FocusListenerDemonstrates FocusListener
9.Demonstrates LineBackgroundListenersDemonstrates LineBackgroundListeners