MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
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 MainClass {

    public static void main(String[] a) {
        Display d = new Display();
        Shell 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("A");
        c.add("B");
        c.add("C");
        c.add("D");

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

    }
}