SWT: Come si registra eventi KeyUp quando nessun controllo hanno messa a fuoco?
Domanda
Im sto facendo un programma Java SWT che è necessario per funzionare sia su Linux e Windows.
Io uso il seguente codice per l'ascolto di eventi KeyUp:
Control.addListener(SWT.KeyUp, new Listener() {
public void handleEvent(Event arg0) {
System.out.println("Event");
}
});
Ma questo non innescherà quando nessun controllo è attivo.
Non Qualcuno sa di un posto che posso aggiungere un ascoltatore che agisce come un catch-all?
Soluzione 3
Non sono stato in grado di trovare una soluzione a questo. Ho il sospetto che non ne esistono
Altri suggerimenti
L'unico modo per farlo che io sappia è mettendo un Filtro sul display. Prendere atto che più shell può operare su un unico display, così si dovrebbe fare attenzione!
shell.getDisplay().addFilter(SWT.KeyDown, new Listener() {
public void handleEvent(final Event event) {
System.out.println(event);
}
});
prova a seguire il metodo della classe di visualizzazione:
public void addListener ( int eventType, Listener listener )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow