salut les gars,
voilà le souci :
j'ai une fenetre qui contient un JButton et un JPanel.
Le JPanel est vide au démarrage mais à chaque fois que je clique sur le JButton, j'ajoute un JTextfield au JPanel.
Le truc, c'est que lorsque que je vais vouloir récupérer les infos tapées par l'utilisateur dans les JTextfield,
ça va foirer car ils ont tous le même nom donc, dans mon System.out.println(textfield.getText()) je n'afficherai
que le texte saisi dans le dernier JTextfield.
Voilà le code :
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 public class test extends JFrame implements ActionListener { private static JButton Ajouter; private static JButton Envoyer; private static JPanel panel; private static JScrollPane scrollPane; private static int hauteur; private JTextField textfield; public static void main(String[] args) { JFrame f = new test(); f.setBounds(300, 300, 200, 220); f.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT)); panel = new JPanel(false); panel.setLayout(new FlowLayout(FlowLayout.LEFT)); panel.setPreferredSize(new Dimension(150,hauteur)); scrollPane = new JScrollPane(panel); scrollPane.setPreferredSize(new Dimension(170, 100)); Ajouter = new JButton("Ajouter"); Ajouter.addActionListener((ActionListener) f); Envoyer = new JButton("Envoyer"); Envoyer.addActionListener((ActionListener) f); f.getContentPane().add(Ajouter); f.getContentPane().add(Envoyer); f.getContentPane().add(scrollPane); f.setVisible(true); } public void actionPerformed(ActionEvent evt) { if (evt.getSource() == Ajouter) { textfield = new JTextField(10); panel.add(textfield); hauteur = hauteur + 25; panel.setPreferredSize(new Dimension(150,hauteur)); panel.add(textfield); panel.revalidate(); } else if (evt.getSource() == Envoyer) { System.out.println(textfield.getText()); } } }
Comment faire pour obtenir les valeurs saisies dans tous les JTextField du JPanel ?
Merci les gars.
a++
Partager