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 :

Valeur d'un jTextField


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Par défaut Valeur d'un jTextField
    Bonjour,

    Je commence par prévenir, je débute en Swing, et en java tout court d'ailleurs.

    Voila, je suis en train de créer une appli pour rédiger des articles (qui générera par la suite un fichier etc, enfin le problème n'est pas la)

    J'ajoute un jTextField à mon jPanel principal, et lorsque je clique sur le bouton en dessous, je récupère la valeur du textField et fait une vérification dessus (dont voici le code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    if (writer.getTitleField().equals("")) {
    				writer.getInfoLabel().setForeground(Color.red);
    			}
    			else {
    				//code pour passer à la suite
    			}
    Or je m'apperçois que même lorsque je ne tape rien, il ne passe jamais dans la première partie, il va tout le temps dans le else.

    J'ai essayé de remplacer le null de la condition par "" mais même chose.

    Petite précision (je ne sais pas si cela peut venir de ca mais je me pose quand même la question) le textField a le focus d'office quand j'arrive sur la frame writer.

    Si quelqu'un a une idée, je l'en remercie d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Ajoute ceci devant ton test et regarde le résultat sur ta console, cela t'éclairera surement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Title: [" + writer.getTitleField() + "]");
    A tout hasard, de quel type est le retour de la fonction getTitleField(), si c'est un String ok, si c'est le JTextField comme je le pense, alors il faut changer ton test.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (writer.getTitleField().getText() == null || writer.getTitleField().getText().equals(""))
    Fred

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Par défaut
    Donc la valeur que j'obtiens dans la console avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Title: [" + writer.getTitleField() + "]");
    est
    Title: [javax.swing.JTextField[,300,110,400x20,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1b383e9,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]]

    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Title: [" + writer.getTitleField().getText() + "]");
    et il me retourne
    Title: []


    Voici la méthode getTitleField() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public JTextField getTitleField() {
    		if (titleField == null) {
    			titleField = new JTextField();
    		}
    		return titleField;
    	}
    Il retourne donc bien un jTextField.

    Donc j'ai essayé la condition que tu proposais, et cela a marché. En fait, seule cette condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (writer.getTitleField().getText().equals(""))
    suffit (la moitié de ce que tu proposais donc)

    Peut être est-il mieux de laisser les deux (je ne sais pas si c'est vraiment utile)

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Citation Envoyé par Sh4dow49 Voir le message
    Peut être est-il mieux de laisser les deux (je ne sais pas si c'est vraiment utile)
    Oui, car si ton JTextField contient null, tu vas avoir un plantage.
    Tu ne peux pas appliquer la méthode equals() sur null.

    Fred

  5. #5
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Je pense pas que çà soit un plantage, là tu retournes l'objet JTextField et non sa valeur donc c'est normal qu'il te retourne çà.

    La méthode pour récupérer la valeur d'un JTextField est "getText()".

    return titleField.getText();

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

Discussions similaires

  1. récupérer la valeur d'un JTextField
    Par DiverSIG dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 25/03/2009, 13h22
  2. comment récupérer la valeur d'un jTextField?
    Par mimi2403 dans le forum JBuilder
    Réponses: 7
    Dernier message: 30/12/2008, 23h17
  3. Réponses: 4
    Dernier message: 05/06/2008, 21h55
  4. ajouter la valeur d'un jTextfield dans ma base
    Par norkoffire dans le forum Composants
    Réponses: 6
    Dernier message: 16/06/2007, 16h28
  5. recuperer les valeurs d'un JTextField en tant réel...
    Par boudou dans le forum Composants
    Réponses: 1
    Dernier message: 05/04/2006, 11h55

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