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 :

Récupérer contenu d'un JTextField


Sujet :

Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut Récupérer contenu d'un JTextField
    Bonjour,
    je souhaite savoir comment récupérer le contenu d'un JTextField à partir d'un panneau d'une autre classe.

    merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,

    Plusieurs manières de le faire parmi les quelles, passer ton objet JTextField en paramètre du constructeur de la classe prévu pour l'utilisation de ce JTextField

  3. #3
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    jchuis pas chaud pour échanger des composants comme ça: ça crée des couplages.

    ton composant cible peut avoir une méthode setXXX(String s)
    cette méthode étant partie d'une interface.
    Maintenant ton composant d'origine fait la récupération de la chaine du JTextField et passe cette chaine à la méthode setXXX.
    La ruse est que le composant origine ne connait pas le composant cible il connait simplement l'interface correspondante.
    Quand on systématise bien ce genre de stratégie on construit des codes graphiques bien décomposés et bien architecturés.

  4. #4
    Membre averti
    Profil pro
    Coach Agile
    Inscrit en
    Avril 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach Agile

    Informations forums :
    Inscription : Avril 2008
    Messages : 43
    Par défaut
    Je connais pas trop du peut donner un exemple s'il te plait??

  5. #5
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    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
     
    interface Cible { // j'ai mis n'importe quoi comme nom
      public void notificationSaisie(String st) ;
    }
     
    public ComposantCible extends JPanel implements Cible {
         public void notificationSaisie(String st) {
             // je reçois la chaine saisie
         }
    }
     
    public ComposantSaisie extends JPanel {
           private Cible àNotifier ;
           public ComposantSaisie(Cible àNotifier) {
                this.àNotifier = àNotifier ;
                // mise en place du JTextField
                // mise en plac gestionnaire evt. sur le JTextField
           }
     
          class GestionnaireEvt implements ActionListener{
                // ou autre Listener sur TextField
                public void actionPerformed(ActionEvent evt) {
                    String saisie = leTextField.getText() ;
                     àNotifier.notificationSaisie(saisie) ;
                 }
          }
     
    }

  6. #6
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 17
    Par défaut
    Hello,

    J'ai eu le même problème récemment.
    Personnellement il s'agissait de 2 classes du même package, et je l'ai résolu comme ça:

    Dans ta deuxième classe, tu récupères le texte de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String text = MaPremiereClasse.monJTextField.getText();
    C'est peut-être pas la meilleure solution c'est probablement une des plus simples.

  7. #7
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    bonjour,

    j'ai essayé cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String text = MaPremiereClasse.monJTextField.getText();
    mais le compilateur me dit qu'il ne connait pas monJTextField.
    par contre, la classe de mon JtextField est situé dans un fichier et mon panneau dans lequel je souhaite récupérer ce JtextField est dans un autre fichier.
    Comment procéder, package+import ?
    Devrai-je le faire passer comme argument sur ma fenêtre puis sur mon panneau ? de quel commande s'agit-il ?

  8. #8
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par giovedy Voir le message
    String text = MaPremiereClasse.monJTextField.getText();

    mais le compilateur me dit qu'il ne connait pas monJTextField.
    Si tu as choisi cette solution pour récupérer le contenu de ton JTextField, alors dans ta classe MaPremiereClasse, tu dois déclarer monJTextField comme étant un attribut statique:


  9. #9
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    comme il s'agit de deux fichiers différents devrais-je utiliser des packages ?

  10. #10
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par giovedy Voir le message
    comme il s'agit de deux fichiers différents devrais-je utiliser des packages ?
    Oui, si tes classes se trouvent dans deux packages différents.

  11. #11
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    voila, j'ai essayé d'utiliser des packages.
    dans le fichier contenant le JtextField j'ai ajouté : dans le fichier du panneau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import joueur.paneau.*;
    mais le compilateur ne reconnait pas le package. Peux-tu m'aider ?

  12. #12
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par giovedy Voir le message
    voila, j'ai essayé d'utiliser des packages.
    dans le fichier contenant le JtextField j'ai ajouté : package joueur;
    Ce n'est pas suffisant, il faut créer ce package avec ton IDE et mettre ta classe dedans.

    Si j'ai bien compris la situation, tu n'as pas besoin de créer un package pour ta classe. Il te faut juste chnager la portée de ton attribut monJTextField et le rendre statique.

  13. #13
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    Même en aillant changé les attributs en static des JTextField, il me demande un package :

    "package joueur does not exist
    String Text = joueur.MonJTextField.getText();"


    Qu'est ce qu'un IDE ?

  14. #14
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par giovedy Voir le message
    Qu'est ce qu'un IDE ?
    IDE = environnement de développement intégré comme Eclipse, NetBeans...


    String Text = joueur.MonJTextField.getText();"
    Quelle est la classe contenant l'attribut MonJTextField ?

  15. #15
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Par défaut
    merci de vouloir m'aider.

    bin en fait j'utilise le terminal de Ubuntu.
    ma classe est : "public class joueur extends JPanel"

  16. #16
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par giovedy Voir le message
    merci de vouloir m'aider.

    bin en fait j'utilise le terminal de Ubuntu.
    ma classe est : "public class joueur extends JPanel"
    Si ca marche pas avec les packages, essaie de mettre le tout dans un seul fichier avec une seule classe public pour ne pas te bloquer

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Par défaut
    Une idée, comme ça (personnellement, c'est ce que je ferais).

    Pourquoi ne pas mettre une méthode dans la classe qui construit le TextField du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String DireTexte(){
    return monTextField.getText();
    }
    Utilisable de n'importe où...

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/06/2020, 12h44
  2. Récupérer contenu JTextField dans une autre classe
    Par gregenforce7 dans le forum Débuter
    Réponses: 2
    Dernier message: 14/02/2014, 22h25
  3. Réponses: 9
    Dernier message: 07/08/2013, 18h52
  4. récupérer le contenu d'un jTextField
    Par alfred5 dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 18/02/2011, 23h27
  5. [VBA-O]Récupérer contenu message
    Par Elstak dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 17/08/2006, 09h34

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