Vider le cache de l'entrée standard (clavier) [Résolu]

Signaler
Messages postés
42
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
6 janvier 2005
-
Messages postés
42
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
6 janvier 2005
-
Pimousse : débutant en java

Bonjour à tous,

Mon problème est le suivant :

Si dans une fenêtre j'utilise la combinaison de touches CTRL + Tab pour passer le focus au composant suivant, et si le composant suivant est un dérivé de JTextComponent, alors il ne prendra pas en compte la première lettre (ou chiffre) qui sera entrée au clavier, car apparemment, l'application a gardé en buffer le code de la touche CTRL, et CTRL + caractère ça n'écrit rien.

Savez vous comment "vider" le buffer du clavier ?

Merci d'avance,

Thibaut

7 réponses

Messages postés
42
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
6 janvier 2005

C'est bon j'ai trouvé !

Désolé de pas avoir répondu plus tôt mais j'arrivais plus à accéder au forum, ca plantait !! (C'est ton message donc le mail donc le lien direct qui m'a permis d'arriver à cette page).

Enfin bref, j'ai simplement déplacé ma gestion d'évenements dans un keyPressed au lieu du keyTyped.

oui, oui, je sais, je vous entend tous d'ici :-/

http://evoleo.free.fr/divers/boulay.swf

Désolé...
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

et une boucle sur l entree standar ca me semble pas mal... ;o)
c qd meme biz comme prob chui jamais tomber dessus !!!
Messages postés
42
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
6 janvier 2005

Bah peut être que ca vient de mon programme alors mais ca m'étonne, d'autant plus que c'est pas moi qui ai implémenté la touche Tab, c'est fait tout seul par java.

Et puis si tu es jamais tombé dessus c'est peut être parceque tu es jamais tombé sur le cas particulier où tu as un JTextComponent juste derrière un JTextArea (dont il faut CTRL + Tab pour sortir).

En tout cas c'est bizarre ca c'est sûr.

Par contre j'ai pas compris ta réponse, ca veut dire quoi "et une boucle sur l'entrée standard" ?
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

tu fait un system.in.read() pour voir si ca bouff le caractere ;o)
mais c qd meem du bricolage ;-(
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

et comme tu l avai supposé je n etais peut etre pas encor 'tombé' ;o) sur ce cas précis.
J ai donc remédier a cette lacunne ;o) et malheureusement je n est pas reussi a reproduire ton probleme ;-(

j utilise un JTextField comme JTextComponent et le comportement est correct

++
Messages postés
42
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
6 janvier 2005

Pimousse : encaisse en java

Ouais mais non ! ;o)
Le problème du System.in.read() c'est que ca va bloquer le programme si il n'y avait rien à bouffer justement !
En plus ca risque de faire apparaitre une vieille fenêtre MS-DOS :-/

Et puis le problème aussi c'est que c'est pas moi qui gère les évenements sur la touche Tab, c'est fait en standard par java, donc je sais pas trop où le placer mon System.in.read()

D'ailleurs piusqu'on parle de ça, est ce que tu sais comment faire pour virer tous ces trucs gérés par défaut par java ? Parceque leur gestion des touches elle est bien sympa, je sais pas comment ils ont magouillé leur truc, mais moi derriere je peux plus recuperer d'evenements CTRL + SHIFT (par exemple).

J'ai voulu essayer et ca ne marche pas. Toutes les autres combinaisons passent bien, SHIFT + ALT, ALT + touche, SHIFT + ALT + touche, SHIFT + boutonsouris etc... Mais dès que je met un CTRL ben ça n'envoie même pas d'evenement à mon KeyListener !!!

Décidemment cette touche CTRL me gave...
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

il faut que tu refasse le mapping des keys ;o) un peu barbare no!! ;o)
cette question a deja etatit repondu sur un forum mais me rapelle plus lekel ;-(

avec setkeystroke ca doi marcher qd meme ;o)

mais je t ai bien dit que je n ai pas pu reproduire ton probleme tu doit avoir un prob au nivo de ton programme...

++