Java - SWT/JFace

Events feuern

org.eclipse.swt.widgets.Event
Manchmal möchte man auch selber Events (KeyEvent) feuern.



Das folgende Beispiel simuliert einen Entfernen-Tastendruck in einem Textfeld:

Control myControl = new Text(...);
// Event für KeyDown:
Event e = new Event();
e.type = SWT.KeyDown;
e.keyCode = SWT.DEL;
e.widget = myControl;
Display.getCurrent().post(e);
// Event für KeyUp:
e = new Event();
e.type = SWT.KeyUp;
e.keyCode = SWT.DEL;
e.widget = myControl;
Display.getCurrent().post(e);

Wichtiger Hinweis:
Möchte man beispielsweise einen Shift-Tab-Tastendruck simulieren, so muss man erst shift down senden, dann Tab down und Tab up und zuletzt noch shift up.
e.maskState wird nicht(!) verwendet.