IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[TextField] taper des chiffres...tout le temps...


Sujet :

Composants Java

  1. #1
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut [TextField] taper des chiffres...tout le temps...
    Bonjour,

    voila mon problème je voudrais que pour un textField donné si je tape autre chose que des touches avec des chiffres rien ne se passe (ca a la rigueur je sais faire, c'est pas la le problème) je voudrais surtout que si je tapes sur une touche avec un chiffre dessus ce chiffre s'insère dans mon textField...

    j'étoffe un peu l'idée...en gros si je veux mettre un 1 dans mon TextField, il faut que j'appuie sur shift+& et la j'aurais un 1 dans mon textField, ou alors il faut que CAPS_LOCK soit activé et auxquel cas je tape sur et j'aurais mon 1 dans mon textField...

    moi ce que je voudrais c que quelque soit la manière dont je tape sur la touche avec le 1, le 1 s'insère dans mon TextField...que le CAPS_LOCK soit activé ou non, que j'appuie sur shift ou non....do you know my problem ?

    voila si vous avez une idée pas trop complexe a mettre en place... je suis preneur

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Impose l'utilisation du pavé numérique ... < ok, je sort ...>

    Non, sans rire, je ne pense pas que quoi que ce soit puisse justifier une telle demande de la part de tes utilisateurs. Celà vas à l'encontre des règles d'ergonomies de base édictées par l'interface utilisateur par excelence, le clavier.

    C'est comme si quelqu'un te demandais de freiner si la voiture de devant ralenti, même si tu accelère à fond !

    Tu doit utiliser le code SCAN du clavier et non le code ASCII mais je ne saurais t'en dire plus en Java, jamais utiliser.
    Le code scan représente la touche au sens physique à savoir que la touche escape est toujours a toujours le code 1, la touche '²' le code 2, la touche '&' ou '1' le code 3, etc....

    Je ne sais même pas si ce code est accessible en Java...

  3. #3
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    hum bonne reflection...effectivement...
    mais cela permettrait quand aux utilisateurs de PC d'éviter d'alterner avec ou sans le CAPS_LOCK pour certains champs ou l'on sait d'avance que seul des entiers sont autorisés ... mais effectivement si l'ergonomie générale ne le permet pas...ca ne le fera pas ...

  4. #4
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Lut,

    met ton clavier en mode "Suisse romand"! On a directement les chiffres, et on utilise "SHIFT" pour avoir les symboles...

    Enfin bref, quelle que soit la solution, fais-la tester sur d'autres clavier, on sais jamais...

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Lorsque tu reçois un évènement "KeyTyped" sur ton textArea, tu peux récupérer le code de la touche enfoncée grâce à la méthode getKeyChar sur l'évènement, que tu castes ensuite en int. Il te suffit grâce à cette méthode de récupérer les codes associés à la même touche quand tu es en CAPS LOCK et quand tu ne l'es pas. Ensuite, à l'aide d'un switch, tu peux facilement ajouter dans le textArea la valeur correspondant à la touche tapée.

    Un petit exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void monTextAreaKeyTyped(java.awt.event.KeyEvent evt) {                                     
            if (((int)evt.getKeyChar() != KEY_DELETE) && ((int)evt.getKeyChar() != KEY_BACK)) 
                evt.consume();        
        }
    Dans ce cas ci, tous les cractères autres que la touche "delete" et "retour arrière" sont ignorés.

    Les codes renvoyés par les touches numériques vont de 48 à 57, 0 correspondant au code 48 et 9 au code 57. Pour les caractères spéciaux (dans le cas ou tu es en capslock) je n'en ai aucune idée, à toi de les tester.
    La méthode consume sur l'event permet d'ignorer les autres caractères entrés.

  6. #6
    Membre habitué Avatar de Piolet
    Inscrit en
    Février 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 469
    Points : 160
    Points
    160
    Par défaut
    ok merci je vois comment faire a peur près...merci...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 11/11/2008, 13h45
  2. jj hh mm : convertir des chiffres en un temps
    Par Hepil dans le forum Excel
    Réponses: 6
    Dernier message: 15/06/2007, 10h38
  3. Ecrire des chiffres en toutes lettres
    Par ali_Imouzzer dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/02/2007, 18h44
  4. forcer un TextField à n'accepter que des chiffres
    Par intik dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 01/02/2007, 15h43
  5. ne taper que des chiffres dans un Tedit
    Par Lorenzo77 dans le forum Delphi
    Réponses: 5
    Dernier message: 05/07/2006, 13h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo