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.
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.
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
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
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.
Je connais pas trop du peut donner un exemple s'il te plait??
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) ; } } }
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:
C'est peut-être pas la meilleure solution c'est probablement une des plus simples.
Code : Sélectionner tout - Visualiser dans une fenêtre à part String text = MaPremiereClasse.monJTextField.getText();
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 :
Utilisable de n'importe où...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public String DireTexte(){ return monTextField.getText(); }
Partager