Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

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