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 :

probleme ave java:JTextField


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut probleme ave java:JTextField
    bonjour
    je veux savoir comment limiter la taille d'un champ de texte.je veux dire donner une valeur maximum au nombre de colone d'unJTextField,j ai essayer lors de l instanciation mais ça na pas marcher avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTextField t=new JTextField(20);
    et encore
    et ça na pas marcher aussi.
    merci de m'aider

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    normallement comme t'as fait ca doit marcher
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTextField textnum = new JTextField(30);
    Il t'affiche quoi exactement quand tu mets des tailles différentes ?

  3. #3
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTextField t=new JTextField(20);
    Cela permet de définir le nombre de caractère qui pourront être affichés à l'écran; c'est la taille visuelle de ton JTextField en fait.

    Après si tu veux limiter la saisi il y à des JFormatedTextField tu peux presque tout faire avec ça.

    Mais bon je trouve cette classe un peu compliquée.

    J'essaye de te retrouver un exemple

  4. #4
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    tu peux utiliser les filtres de document :
    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
     
    public class MyDocFilter extends DocumentFilter{
       public void replace(DocumentFilter.FilterByPass fb,long offset, int length,String text,AttributeSet attr){
          if(fb.getDocument().getLength()>20&&length>0){
          // Toute insertion de longueur supérieur à 0 ( remplacement ) lorsque le texte contient 20 caractères est simplement ignorée.   
             return;
          }
          else{
             try{
                fb.relpace(offset,length,text,attr);
             }catch(BadLocationException e){
                e.printStackTrace();
             }
          }
       }
       public void remove(....){...}
       public void insert(...){...}
    }
    ...
    private JTextField monTextField;
    private MyDocFilter filtre;
    ....
    monTextField=new JTextField(20);
    filtre=new MyDocFilter();
    ((AbstractDocument)monTextField.getDocument()).setDocumentFilter(filtre);
    C'est loin d'être la méthode la plus simple, mais je tenais à la rappeler car dans le cadre de règles complexes, le JFormattedTextField peut ne pas être suffisant.

  5. #5
    Membre confirmé Avatar de hugobob
    Profil pro
    FOI
    Inscrit en
    Septembre 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : Gabon

    Informations professionnelles :
    Activité : FOI

    Informations forums :
    Inscription : Septembre 2005
    Messages : 169
    Par défaut
    Essaye de creer une classe !

    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
     
    public class JTextFieldLimit extends PlainDocument
    {
        private int limit; //pour limeter le nombre de caractere
        JTextFieldLimit(int limit)
        {
            super();
            this.limit = limit;
        }
    //redefinir insert string  
        public void insertString
                (int offset, String str, AttributeSet attr) throws
                BadLocationException
        {
            if (str == null)
            {
                return;
            }
     
            if ((getLength() + str.length()) <= limit)
            {
                super.insertString(offset, str, attr);
            }
        }
    }

    Puis l'appel par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jTextField jTextField5=new jTextField();
    jTextField5.setDocument(new JTextFieldLimit(12));
    ça devrait marcher

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 68
    Par défaut Merci
    Merci beaucoup ça marche

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

Discussions similaires

  1. probleme avec java.util.Scanner
    Par d-a-v-e dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/05/2006, 22h08
  2. Probleme Programation JAVA débutant
    Par tomtom62136 dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2006, 12h07
  3. Probleme applet java sur mon site
    Par halo90 dans le forum Applets
    Réponses: 5
    Dernier message: 01/02/2006, 16h18
  4. probleme ave ma carte graphique
    Par chrysmac2003 dans le forum Composants
    Réponses: 4
    Dernier message: 31/01/2006, 22h10
  5. probleme securite java
    Par ghan77 dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 10h09

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