2010-12-16 156 views
2

Je remarque dans le tutoriel que l'événement KeyUpEvent est normalement vérifié en comparant getNativeKeyCode avec KeyCodes. Mais KeyCodes n'a que des constantes pour les clés spéciales et aucun des caractères. Existe-t-il un moyen de coder en dur la valeur de la barre d'espace (qui semble être "32")?Vérifiez que KeyUpEvent est un espace dans GWT

Répondre

2

Je vous écris ce code pour fermer le panneau contextuel avec contrôle de la barre d'espace (32) et il fonctionne pour moi

@Override 
    protected void onPreviewNativeEvent(NativePreviewEvent event) { 
     super.onPreviewNativeEvent(event); 
     if(event.getNativeEvent().getKeyCode() == 32){ // spacebar 
      hide(); 
     } 
    } 

KeyUpEvent a également getNativeEvent();

que vous pouvez vérifier avec la même façon

KeyUpEvent k; 
k.getNativeEvent().getKeyCode() == 32 
+0

merci pour votre réponse - je me demandais s'il était un moyen de contourner les nombres magiques. un peu comme comment il y a keycodes.key_alt par exemple – echoblaze

1

Vous pouvez simplement utiliser le charbon pour l'espace à comparer, comme ceci:

if(event.getNativeKeyCode() == ' ') { 
    // special logic here 
}