pour mon application J'ai besoin de la touche d'espace pour appeler une fonction indépendante du widget ciblé, partout dans l'application mais seulement si l'onglet correspondant est ouvert. Je trouve que l'on peut ajouter un filtre à l'écran, comme ceci:SWT Global KeyListener Button Focus Problème
getShell().getDisplay().addFilter(SWT.KeyDown, new Listener() {
public void handleEvent(Event arg0) {
if(arg0.character == 32) { /**SPACE*/
if(mainTabs.getSelection().equals(analyseSoundFilesTab)) {
soundController.playButtonClickHandler();
}
}
}
});
Cela fonctionne bien la plupart du temps, mais si je donne un bouton au centre via l'onglet « shift » « onglet » ou, son un peu étrange - la barre d'espace va activer un "bouton enfoncé", comme si l'on cliquait sur le bouton avec la souris. Im un peu coincé maintenant, je ne sais pas comment éviter cela ... Pour les boutons, j'ai implémenté un SelectionListener.
Cordialement.
Pour clarifier ce que je veux: Peut-être connaissez-vous l'outil CoolEdit. Ils ont la fonction "play file" sur la barre d'espace, et mon chef le veut aussi. Vous avez raison, il va mélanger la manière standard. : / – InsertNickHere