Bonjour, je dois faire un travail de gestion d'un bar. J'explique :

un serveur choisi la table sur laquelle la commande a lieu puis il indique le nombre de boissons désirées avec les boutons + et -. Une fois effectué il clique sur le bouton commande qui ouvre une nouvelle fenêtre qui spécifie le détail de la commande et qui lui permet de payer la commander via le bouton payer.

Mais pour payer celle-ci la commande doit aussi apparaît dans la fenêtre Bar avec le bouton Pret. Donc ce que je voudrais faire c'est qu'une fois qu'on clique sur le bouton Pret on puisse cliquer sur le bouton Payer pour terminer la commande et en faire une nouvelle.

Mais avant ca il faudrait que je puisse récupérer les données que le serveur a encodé dans la fenêtre Serveur dans la fenêtre Commande et je ne vois pas comment faire.

J'ai aussi une fenêtre Bar_Global dans laquelle je voudrais mettre l'historique de toutes les commandes.

Merci d'avance pour votre aide.

Voici le code de chaque classe :

Test_03_02_2018 ce qui contient le main
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
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package test_03_02_2018;
 
/**
 *
 * @author Geof
 */
public class Test_03_02_2018 {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Bar_global Bar_global = new Bar_global();
        Bar Bar = new Bar();
        Serveur Serveur = new Serveur();
 
    }
 
}
la classe Serveur
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
/*
** To change this license header, choose License Headers in Project Properties.
** To change this template file, choose Tools | Templates
** and open the template in the editor.
**/
package test_03_02_2018;
*
*
*
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
*
*
/**
**
** @author Geof
**/
public class Serveur extends JFrame {
***
**private final JButton btn_coca = new JButton("+");
**private final JButton btn_coca_2 = new JButton("-");
**private final JButton btn_biere = new JButton("+");
**private final JButton btn_biere_2 = new JButton("-");
**private final JButton btn_cafe = new JButton("+");
**private final JButton btn_cafe_2 = new JButton("-");
**private final JButton btn_eau = new JButton("+");
**private final JButton btn_eau_2 = new JButton("-");
**private final JButton btn_commander = new JButton("Commander");
**private final JLabel lbl_table = new JLabel("Table");
**protected final JLabel lbl_coca = new JLabel("Coca");
**protected final JLabel lbl_biere = new JLabel("Bière");
**protected final JLabel lbl_cafe = new JLabel("Café");
**protected final JLabel lbl_eau = new JLabel("Eau");*
**protected final JTextField jtf_qte_coca = new JTextField("**** ");
**protected final JTextField jtf_qte_biere = new JTextField("**** ");
**protected final JTextField jtf_qte_cafe = new JTextField("**** ");
**protected final JTextField jtf_qte_eau = new JTextField("**** ");
**private final JLabel lbl_vide = new JLabel("");
**private final JLabel lbl_vide_2 = new JLabel("");
**private final JLabel lbl_vide_3 = new JLabel("");
**private final String table[] = { "1", "2", "3" };
******JComboBox comboBox = new JComboBox( table );
**int cpt = 0;
**private int cpt2 = 0;
**private int cpt3 = 0;
**private int cpt4 = 0;
**public Serveur(){
****initComponents();
****this.setVisible(true);
**}
**private void initComponents(){
****this.setTitle("Serveur");
*****
****this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
****this.setLocation(0, 0);
****this.setSize(500, 300);
****btn_coca.addActionListener(new BoutonListener());
****btn_coca_2.addActionListener(new BoutonListener2());
****btn_biere.addActionListener(new BoutonListener3());
****btn_biere_2.addActionListener(new BoutonListener4());
****btn_cafe.addActionListener(new BoutonListener5());
****btn_cafe_2.addActionListener(new BoutonListener6());
****btn_eau.addActionListener(new BoutonListener7());
****btn_eau_2.addActionListener(new BoutonListener8());
****btn_commander.addActionListener(new BoutonListener9());
****JPanel cell1 = new JPanel();***
****cell1.setPreferredSize(new Dimension(110, 40));
****cell1.add(lbl_table);
****//---------------------------------------------
****JPanel cell2 = new JPanel();***
****cell2.setPreferredSize(new Dimension(110, 40));
****cell2.add( comboBox );
****//---------------------------------------------
****JPanel cell3 = new JPanel();
****cell3.setPreferredSize(new Dimension(110, 40));
****cell3.add(lbl_vide_2);
****//---------------------------------------------
****JPanel cell4 = new JPanel();***
****cell4.setPreferredSize(new Dimension(110, 40));
****cell4.add(lbl_vide_3);
****//---------------------------------------------
****JPanel cell5 = new JPanel();
****cell5.setPreferredSize(new Dimension(110, 40));***
****cell5.add(lbl_coca);
****//---------------------------------------------
****JPanel cell6 = new JPanel();*******
****cell6.setPreferredSize(new Dimension(110, 40));
****cell6.add(jtf_qte_coca);
****//---------------------------------------------
****JPanel cell7 = new JPanel();***
****cell7.setPreferredSize(new Dimension(110, 40));
****cell7.add(btn_coca);
****//---------------------------------------------
****JPanel cell8 = new JPanel();***
****cell8.setPreferredSize(new Dimension(110, 40));
****cell8.add(btn_coca_2);
****//---------------------------------------------
****JPanel cell9 = new JPanel();***
****cell9.setPreferredSize(new Dimension(110, 40));
****cell9.add(lbl_biere);
****//---------------------------------------------
****JPanel cell10 = new JPanel();***
****cell10.setPreferredSize(new Dimension(110, 40));
****cell10.add(jtf_qte_biere);***********
****//---------------------------------------------
****JPanel cell11 = new JPanel();***
****cell11.setPreferredSize(new Dimension(110, 40));
****cell11.add(btn_biere);
****//---------------------------------------------
****JPanel cell12 = new JPanel();***
****cell12.setPreferredSize(new Dimension(110, 40));
****cell12.add(btn_biere_2);
****//---------------------------------------------
****JPanel cell13 = new JPanel();***
****cell13.setPreferredSize(new Dimension(110, 40));
****cell13.add(lbl_cafe);
****//---------------------------------------------
****JPanel cell14 = new JPanel();***
****cell14.setPreferredSize(new Dimension(110, 40));
****cell14.add(jtf_qte_cafe);
****//---------------------------------------------
****JPanel cell15 = new JPanel();***
****cell15.setPreferredSize(new Dimension(110, 40));
****cell15.add(btn_cafe);
****//---------------------------------------------
****JPanel cell16 = new JPanel();***
****cell16.setPreferredSize(new Dimension(110, 40));
****cell16.add(btn_cafe_2);
****//---------------------------------------------
****JPanel cell17 = new JPanel();***
****cell17.setPreferredSize(new Dimension(110, 40));
****cell17.add(lbl_eau);
****//---------------------------------------------
****JPanel cell18 = new JPanel();***
****cell18.setPreferredSize(new Dimension(110, 40));
****cell18.add(jtf_qte_eau);
****//---------------------------------------------
****JPanel cell19 = new JPanel();***
****cell19.setPreferredSize(new Dimension(110, 40));
****cell19.add(btn_eau);
****//---------------------------------------------
****JPanel cell20 = new JPanel();***
****cell20.setPreferredSize(new Dimension(110, 40));
****cell20.add(btn_eau_2);
****//---------------------------------------------
****JPanel cell21 = new JPanel();***
****cell21.setPreferredSize(new Dimension(110, 40));
****//---------------------------------------------
****JPanel cell22 = new JPanel();***
****cell22.setPreferredSize(new Dimension(110, 40));
****//---------------------------------------------
****JPanel cell23 = new JPanel();***
****cell23.setPreferredSize(new Dimension(110, 40));
****//---------------------------------------------
****JPanel cell24 = new JPanel();***
****cell24.setPreferredSize(new Dimension(110, 40));
****cell24.add(btn_commander);
****//---------------------------------------------
*****
*********
****//Le conteneur principal
****JPanel content = new JPanel();
*****
****content.setBackground(Color.WHITE);
****//On définit le layout manager
****content.setLayout(new GridBagLayout());
*****
*********
****//L'objet servant à positionner les composants
****GridBagConstraints gbc = new GridBagConstraints();
*****
****//weightx définit le nombre de cases en abscisse
****gbc.weightx = 4;
*****
****// weightx définit le nombre de cases en ordonnée */
****gbc.weighty = 6;*******
*****
****//On positionne la case de départ du composant
****gbc.gridx = 0;
****gbc.gridy = 0;
*****
****content.add(cell1, gbc);
****gbc.gridx = 1;
****gbc.gridy = 0;***
****//---------------------------------------------
****content.add(cell2, gbc);
****gbc.gridx = 2;
****gbc.gridy = 0;***
****//---------------------------------------------
****content.add(cell3, gbc);
****gbc.gridx = 3;
****gbc.gridy = 0;*****
****//---------------------------------------------
****content.add(cell4, gbc);
****gbc.gridx = 0;
****gbc.gridy = 1;***
****//---------------------------------------------
****content.add(cell5, gbc);
****gbc.gridx = 1;
****gbc.gridy = 1;**
****//---------------------------------------------
****content.add(cell6, gbc);
****gbc.gridx = 2;
****gbc.gridy = 1;***
****//---------------------------------------------
****content.add(cell7, gbc);
****gbc.gridx = 3;
****gbc.gridy = 1;**
****//---------------------------------------------
****content.add(cell8, gbc);
****gbc.gridx = 0;
****gbc.gridy = 2;***
****//---------------------------------------------
****content.add(cell9, gbc);
****gbc.gridx = 1;
****gbc.gridy = 2;
****//---------------------------------------------
****content.add(cell10, gbc);
****gbc.gridx = 2;
****gbc.gridy = 2;***
****//---------------------------------------------
****content.add(cell11, gbc);
****gbc.gridx = 3;
****gbc.gridy = 2;***
****//---------------------------------------------
****content.add(cell12, gbc);
****gbc.gridx = 0;
****gbc.gridy = 3;***
****//---------------------------------------------
****content.add(cell13, gbc);
****gbc.gridx = 1;
****gbc.gridy = 3;
****//---------------------------------------------
****content.add(cell14, gbc);
****gbc.gridx = 2;
****gbc.gridy = 3;
****//---------------------------------------------
****content.add(cell15, gbc);
****gbc.gridx = 3;
****gbc.gridy = 3;
****//---------------------------------------------
****content.add(cell16, gbc);
****gbc.gridx = 0;
****gbc.gridy = 4;
****//---------------------------------------------
****content.add(cell17, gbc);
****gbc.gridx = 1;
****gbc.gridy = 4;***
****//---------------------------------------------
****content.add(cell18, gbc);
****gbc.gridx = 2;
****gbc.gridy = 4;**
****//---------------------------------------------
****content.add(cell19, gbc);
****gbc.gridx = 3;
****gbc.gridy = 4;
****//---------------------------------------------
****content.add(cell20, gbc);
****gbc.gridx = 0;
****gbc.gridy = 5;
****//---------------------------------------------
****content.add(cell21, gbc);
****gbc.gridx = 1;
****gbc.gridy = 5;***
****//---------------------------------------------
****content.add(cell22, gbc);
****gbc.gridx = 2;
****gbc.gridy = 5;
****//---------------------------------------------
****content.add(cell23, gbc);
****gbc.gridx = 3;*
****gbc.gridy = 5;
****//---------------------------------------------
****content.add(cell24, gbc);
****gbc.gridx = 0;*
****gbc.gridy = 6;
****//---------------------------------------------
****//On ajoute le conteneur
****this.setContentPane(content);
****this.setVisible(true);***
**}**
***
**//Classe écoutant notre premier bouton
**class BoutonListener implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt++;
******jtf_qte_coca.setText(Integer.toString(cpt ));*****
****}
**}
**class BoutonListener2 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt--;
******jtf_qte_coca.setText(Integer.toString(cpt ));*****
****}
**}
**class BoutonListener3 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt2++;
******jtf_qte_biere.setText(Integer.toString(cpt2 ));*****
****}
**}
**class BoutonListener4 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt2--;
******jtf_qte_biere.setText(Integer.toString(cpt2 ));*****
****}
**}
**class BoutonListener5 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt3++;
******jtf_qte_cafe.setText(Integer.toString(cpt3 ));*****
****}
**}
**class BoutonListener6 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt3--;
******jtf_qte_cafe.setText(Integer.toString(cpt3 ));*****
****}
**}
**class BoutonListener7 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt4++;
******jtf_qte_eau.setText(Integer.toString(cpt4 ));*****
****}
**}
**class BoutonListener8 implements ActionListener{
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******cpt4--;
******jtf_qte_eau.setText(Integer.toString(cpt4 ));*****
****}
**}
**class BoutonListener9 implements ActionListener{*****
****//Redéfinition de la méthode actionPerformed()
****@Override
****public void actionPerformed(ActionEvent arg0) {******
*******/* Ouvrir nouvelle fenêtre */
*******btn_commander.addActionListener((ActionListener) new Commande());*****
****}
**}*
}
la classe Commande

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
/*
** To change this license header, choose License Headers in Project Properties.
** To change this template file, choose Tools | Templates
** and open the template in the editor.
**/
package test_03_02_2018;
*
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
*
/**
**
** @author Geof
**/
public class Commande extends Serveur* {***
***********private final JPanel pan = new JPanel();
***********private final JButton payer = new JButton("Payer");
***********public Commande(){
***********initComponents();
***********this.setVisible(true);
***********}
***********private void initComponents(){**********
***********this.setTitle("Commande");
***********this.setSize(300,300);
***********this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
***********this.setLocationRelativeTo(null);
***********this.pan.add(lbl_coca);
***********this.pan.add(jtf_qte_coca);
***********this.pan.add(lbl_biere);
***********this.pan.add(jtf_qte_biere);
***********this.pan.add(lbl_cafe);
***********this.pan.add(jtf_qte_cafe);
***********this.pan.add(lbl_eau);
***********this.pan.add(jtf_qte_eau);********************
***********this.pan.add(payer);***********
***********this.setContentPane(pan);**************
***********this.setVisible(true);***********
****}***
}
la classe Bar

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
/*
** To change this license header, choose License Headers in Project Properties.
** To change this template file, choose Tools | Templates
** and open the template in the editor.
**/
package test_03_02_2018;
*
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
*
/**
**
** @author Geof
**/
public class Bar extends JFrame {
****private JPanel pan = new JPanel();
**private JButton bouton = new JButton("Pret");
**public Bar(){
****this.setTitle("Bar");
****this.setSize(500, 300);
****this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
****this.setLocation(800, 400);
****//Ajout du bouton à notre content pane
****pan.add(bouton);
****this.setContentPane(pan);
****this.setVisible(true);
**}*****
}
la classe Bar_global

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
/*
** To change this license header, choose License Headers in Project Properties.
** To change this template file, choose Tools | Templates
** and open the template in the editor.
**/
package test_03_02_2018;
*
*
import javax.swing.JFrame;
import javax.swing.JPanel;
*
/**
**
** @author Geof
**/
public class Bar_global extends JFrame {***
****private JPanel pan = new JPanel();*
**public Bar_global(){
****this.setTitle("Bar global");
****this.setSize(500, 300);
****this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
****this.setLocation(0,400);***
****this.setContentPane(pan);***
****this.setVisible(true);***
**}*********
}