2009-11-06 17 views
5

Ho un filtro globale (Display.addFilter) in SWT in cui voglio rilevare Immettere chiave. In Windows, premendo Invio viene generato SWT.CR nella parte 'keyCode' dell'evento KeyListener. Questa ipotesi è sicura per tutte le piattaforme, o dovrei controllare seSWT Cross-Platform Enter Detection

keyCode == SWT.CR || keyCode == SWT.LF? 

Grazie.

+4

Se la mia risposta è stata utile, si prega di controllare come risposta accettata. –

+1

No, non era la risposta giusta, perché non volevo un evento trasversale. È un ascoltatore di chiavi globale (filtro) come specificato chiaramente nella domanda. – Mohsen

risposta

30

Se si desidera catturare l'evento quando l'utente preme il tasto Invio mentre un widget è a fuoco, utilizzare un TraverseListener o un listener con tipo SWT.Traverse. Quindi, si controlla

if (event.detail == SWT.TRAVERSE_RETURN) { 
    // The user pressed Enter 
} 
+0

Funziona perfettamente, grazie! – Firzen