Bonjour à tous,
j'ai une petite question : est-il possible de désactiver la touche CAPS LOCK ( ou VERR MAJ ) sur le focus d'un champ de texte ?
Manu.
Bonjour à tous,
j'ai une petite question : est-il possible de désactiver la touche CAPS LOCK ( ou VERR MAJ ) sur le focus d'un champ de texte ?
Manu.
A ma connaissance non: cette touche est gérée par l'OS... Il est difficile pour une application java d'accéder à ce genre de contrôles du système (du moins sans passer par une librairie système)
Par contre tu peux mettre un listener sur ton champ, qui modifie systématiquement tout texte entré pour forcer sa casse en minuscules
Ca je ne peux pas car c'est un champ qui est utilisé pour recevoir un code barre avec une douchette et le probleme c'est que si jai un code barre alphanumérique avec la touche CAPS LOCK activée, la chaine de caracteres est inversée ( au niveau de la casse ) et entre autre les tirets - deviennent des 6, etc...
Il faudrait vraiment que j'arrive à desactiver cette fichue touche à la saisie de mon code barre quand je rentre mon article dans la base et aussi à la lecture, pour être sûr de le retrouver!
Et si tu prenais plutôt le problème à la source?... Il n'est pas normal que le résultat d'une lecture de douchette soit sensible au verrouillage majuscule => regarde du côté du driver de ta douchette, ou de la manière dont tu interfaces ce dernier avec java...
Bonsoir,
Bon j'ai presque trouvé la solution, il ne me reste plus qu'à trouver le bon listener où le mettre et ça devrait surement le faire!
J'ai mis les lignes suivantes :
Ca marche mais uniquement à la création de ma fenetre... le mieux serait que ça surveille en permanence l'appuie du bouton CapsLock pour le désactiver automatiquement... mais vu que je sors de longues années de developpement PHP j'ai beaucoup de mal avec les listener ;-/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 addComponentListener(new ComponentListener() { public void componentMoved(ComponentEvent e) { java.awt.Toolkit.getDefaultToolkit().setLockingKeyState(java.awt.event.KeyEvent.VK_CAPS_LOCK, false); } public void componentShown(ComponentEvent e) { } public void componentHidden(ComponentEvent e) { } public void componentResized(ComponentEvent e) { } });
Pour ce qui est des drivers de la douchette, il n'y en a pas, en faite la douchette se branche directement sur le port PS2, tel un clavier et elle interprète le code barre comme si l'on tapait les chiffres et caractères du code barre lu. Directement, ça fonctionne dans un JTextField, comme dans Word NotePad et autre!
En tout cas merci pour vos réponses, je vois que ce Forum est super réactif (on se croirait sur le forum d'OSCommerce)
Merci.
Manu.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager