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

Java Discussion :

Bloquer des touches (filtrer la frappe de l'utilisateur)


Sujet :

Java

  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Bloquer des touches (filtrer la frappe de l'utilisateur)
    Bonjout,

    J'aimerais savoir s'il est possible de filtrer la frappe de l'utilisateur dans un JTextField en bloquant les chiffre. j'ai essayer le e.keycode() = 0 mais cela bloque la touche d'effacement et non les chiffre.

    Voilà mon code

    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
     
     
    public class FilterName extends KeyAdapter {
    	public void keyPressed (KeyEvent ke) {
    		if (Character.isDigit(ke.getKeyChar())) {
    			Robot robot;
    			try {
    				robot = new Robot();
     
    			robot.keyPress(KeyEvent.VK_CLEAR);		/** pression de la touche A */
    			robot.keyRelease(KeyEvent.VK_CLEAR);
    		}catch (AWTException e) {
    				System.err.println("Simulation de frappe échouée".intern() + e.getMessage());
    				e.printStackTrace();
    			}		
    	}
    }
    }
    Merci pour votre réponse et bonne année à tous

    Salutations
    Battant

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Si vous désirez limiter ce que l'on peut mettre dans une zone de texte, utilisez plutot un JFormattedTextField.

  3. #3
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Utiliser Robot pour ca, c'est un peu le bazooka pour tuer le moustique. Comme dit precedemment, si tu cherches à faire un textfield formatté (utilisant des chiffres, du texte, ...) il y a la solution JFormattedTextField.

    Sinon, pour une verification plus fine, il faut redefinir protected Document createDefaultModel() du JtextField. Voila un exemple basique pour des double :

    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
    21
    22
    23
    24
    25
       protected Document createDefaultModel()
       {
          return new PlainDocument()
          {
             private static final long serialVersionUID = 1L;
     
             public void insertString(int offs, String str, AttributeSet a)
                   throws BadLocationException
             {
     
                String anc_text = super.getText(0, super.getLength());
                String futur_text = anc_text.substring(0, offs) + str
                      + anc_text.substring(offs);
                try
                {
                   Double.parseDouble(futur_text);
                   super.insertString(offs, str, a);
                }
                catch (Exception ex)
                {
     
                }
             }
          };
       }
    a+

Discussions similaires

  1. Bloquer des touches
    Par kevinf dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/11/2006, 17h23
  2. Detection des touches enfoncées par API
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 31
    Dernier message: 20/02/2006, 12h30
  3. Bloquer des touches
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/12/2005, 17h54
  4. Bloquer des touches
    Par [Silk] dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 26/10/2005, 11h46
  5. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11

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