Bonsoir tout le monde, je souhaite accéder à la valeur d'un JTextField depuis une autre classe via un getter mais j'obtiens toujours la chaîne vide.
Voici mes 2 classes :
Pour la classe possédant le jtextield :
Pour la classe utilisatrice :
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 public class XPanel extends JPanel { JTextField textfield; public XPanel { this.textfield = new JTextField(); } public XPanel getView(){ JPanel j = new JPanel(); j.add(this.textfield; return j; } public String getText(){ return this.textfield.getText(); } }
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 public class GlobalView { private List<Xpanel> xpanels; private class XActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { for(XPanel x : GlobalView.this.xpanels) { System.out.println("La valeur est "+x.getText()); } } } public GlobalView (){ this.xpanels = new ArrayList<XPanel>(); this.frame = new JFrame(); validateButton = new JButton("Click to validate"); validateButton.addActionListener(new XActionListener()); this.frame.add(validateButton); this.frame.pack(); this.frame.setVisible(true); } public void addXPanel(XPanel x){ this.xpanels.add(x); } }
Après divers recherche je ne comprend pas pourquoi j'ai toujours la chaine vide, lorsque je saisi du texte.
Je ne souhaite pas mettre d'actionlistener sur le textfield car c'est la classe utilisatrice qui récupère le contenu à un moment donné.
Merci pour votre aide !
Partager