Bonjour, je vous explique mon problème. Alors voilà j'ai une premiere JFrame composé d'une grille. Lorsque je clique sur une case une deuxième JFrame s'ouvre composée de plusieurs action. Lorsque je clique sur une action un JDialog s'ouvre permettant d'entrer des données (par exemple créer 5 animaux). J'aimerais récupéré ses données dans la première JFrame.
Voici mon JDialog:
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
56
57
58
59
60 public final class JForm extends JDialog { /** * */ private static final long serialVersionUID = 1L; //ce qui retourne la valeur private static String returnValue; //création des composants private JLabel info2 = new JLabel(); private JLabel info = new JLabel("nombre de soldat a produire"); private JTextField jTextField = new JTextField(); private JButton construire = new JButton("Creer Soldat"); private CaseTerrain caseTerrain; private JForm(CaseTerrain caseTerrain) { this.caseTerrain = caseTerrain; setTitle("Créer soldat"); setModalityType(ModalityType.APPLICATION_MODAL); info2 = new JLabel(); info = new JLabel("nombre de soldat a produire"); jTextField = new JTextField(); construire = new JButton("Creer Soldat"); construire.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //Je recupére le texte écrit returnValue = jTextField.getText(); Integer.getInteger(returnValue); dispose(); } }); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(info2); panel.add(info); panel.add(jTextField); panel.add(construire); info2.setText("Production en stock :" + caseTerrain.getTerrain().getProduction().getListeLocale() .get(0).getQuantite()); setContentPane(panel); pack(); } //Fenetre du JForm public static String openForm(Component parent,CaseTerrain caseTerrain) { returnValue = null; JForm form = new JForm(caseTerrain); form.setLocationRelativeTo(parent); form.setVisible(true); form.setSize(500, 500); return returnValue; } }
Merci de votre compréhension.
Partager