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

AWT/Swing Java Discussion :

Suppression charactere JFormattedTextField


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Par défaut Suppression charactere JFormattedTextField
    Bonjour,

    Voila, j'ai créé une interface utilisateur dynamique avec des JFormattedTextField, ne pouvant contenir que des nombres. Pour cela, j'utilise le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    NumberFormat nf = NumberFormat.getNumberInstance ();
    nf.setParseIntegerOnly (true);
    nf.setMinimumIntegerDigits(0);
    nf.setMaximumIntegerDigits(2);
    numField = new JFormattedTextField(nf);
    ((DefaultFormatter) numField.getFormatter()).setAllowsInvalid (false);
    layerPanel.add(numField);
    Mais le problème, c'est que je ne peux pas supprimer le nombre, il faut absolument qu'il y ai un digit. Comment faire pour pouvoir supprimer tout afin d'avoir un champ blanc ?

    Merci

    Denis

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Par défaut
    Bon, je me repond, j'ai utilisé ce morceau de code pour faire mes textField et ça marche super bien.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    /**
    * Control extending JTextField to only allow numeric entry and use of
    * special editting keys.
    *
    */
    public class JNumberField extends JTextField
    {
      public JNumberField()
      {
        super();
      }
      public JNumberField(String string)
      {
        super(string);
      }
      protected void processComponentKeyEvent(KeyEvent e)
      {
        int id = e.getID();
        switch(id)
        {
          case KeyEvent.KEY_TYPED:
          case KeyEvent.KEY_PRESSED:
          case KeyEvent.KEY_RELEASED:
          if (allowKey(e))
          {
            super.processComponentKeyEvent(e);
          }
          else
          {
            e.consume();
          }
          break;
        }
      }
      protected boolean allowKey(KeyEvent event)
      {
        int keyCode = event.getKeyCode();
        char keyChar = event.getKeyChar();
        if (keyChar == KeyEvent.VK_0            ||
            keyChar == KeyEvent.VK_1            ||
            keyChar == KeyEvent.VK_2            ||
            keyChar == KeyEvent.VK_3            ||
            keyChar == KeyEvent.VK_4            ||
            keyChar == KeyEvent.VK_5            ||
            keyChar == KeyEvent.VK_6            ||
            keyChar == KeyEvent.VK_7            ||
            keyChar == KeyEvent.VK_8            ||
            keyChar == KeyEvent.VK_9            ||
            keyChar == KeyEvent.VK_BACK_SPACE   ||
            keyCode == KeyEvent.VK_TAB          ||
            keyCode == KeyEvent.VK_RIGHT        ||
            keyCode == KeyEvent.VK_LEFT         ||
            keyCode == KeyEvent.VK_DELETE       ||
            keyCode == KeyEvent.VK_HOME         ||
            keyCode == KeyEvent.VK_END          ||
            keyCode == KeyEvent.VK_ENTER        ||
            keyCode == KeyEvent.VK_ESCAPE       ||
            keyCode == KeyEvent.VK_SHIFT)
        {
            return true;
        }
        else
        {
            return false;
        }
      }
    }
    Donc pour ceux que ça interesse....

    a bientot

    Denis

  3. #3
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Finalement tu as donc laissé tomber tes JFormattedtextField

    Du coup, je trouve ça plus lourd à coder, de plus tu n'as tenu compte que des touches du pavé numérique, qu'en est-til des touches où l'on peut activer les chiffres avec le capslock par exemple ?

    Je pense que ta solution est valable pour l'instant mais que pour des raisons de simplicité, tu reviendras vers les jFormattedTextField

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

Discussions similaires

  1. Suppression characteres
    Par jojoboloss dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/02/2006, 14h13
  2. Réponses: 1
    Dernier message: 11/01/2006, 19h21
  3. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  4. [CR] suppression du bas de page
    Par grosjej dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/09/2002, 08h58
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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