Bonjour à tous, je developpe actuellement un jeu de yams en java et je travaille avec swing. J'ai donc un petit problème que je n'arrive pas à résoudre (c'est meme un gros problème). J'ai une classe Main qui s'occupe de charger le menu dans une fenetre et lorsque je clique sur "demarrer partie" je veux que celà me charge le container de la classe Partie dans ma fenetre. Hors ca ne le fait pas, sauf pour ce que je trouve étrange c'est qu'il me charge les checkbox qui eux appartiennent à AWT. Mais le reste c'est niet. Donc je vous montre le code et si vous avec une idée à quoi celà peut etre du faites le moi savoir, Merci.

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
/*
 * Main.java
 *
 * Created on 22 mars 2007, 19:08
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
 
package projetyams_graphique;
 
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.util.Vector;
import javax.swing.*;
 
 
public class Main extends JFrame implements ActionListener{
	public Partie partie = null;
         private JMenuBar menuBar = null ; ;
        private JMenu menu1 = null ;
        private JMenuItem jeu = null ;
        private JMenuItem quitter = null ;
        private JMenu menu2 = null ;
        private JMenuItem options = null ;
        private JMenu menu3 = null ;
        private JMenuItem aPropos = null ;	
 
 
 
        public Main(){
		super();
 
           build();
           partie = new Partie();     
	}
 
	public static void main(String[] args){
		Main gui = new Main();
 
                gui.setVisible(true);
 
 
        }
 
	private void build(){
		menuBar = new JMenuBar() ;
 
                menu1 = new JMenu("Partie") ;
                    jeu = new JMenuItem("Nouvelle Partie") ;
                            menu1.add(jeu) ;
                            jeu.addActionListener(this) ;
                    quitter = new JMenuItem("Quitter") ;
                          menu1.add(quitter) ;  
                          quitter.addActionListener(this) ;
                menu2 = new JMenu("Options");
                            options = new JMenuItem("Modifier les options");
                            menu2.add(options);
                menu3 = new JMenu("?") ;
                    aPropos = new JMenuItem("A propos") ;
                        menu3.add(aPropos) ;
                        aPropos.addActionListener(this) ;
                menuBar.add(menu1) ;
                menuBar.add(menu2) ;
                menuBar.add(menu3) ;
                this.setJMenuBar(menuBar) ;
                this.setTitle("Jeu De Yams"); //On donne un titre à l’application
		this.setSize(640,480); //On donne une taille à notre fenêtre
		this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
		this.setResizable(false) ; //On interdit la redimensionnement de l’écran
		//On lui dit de mettre le panel en fond
 
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
 
        }
 
 
 
 
 
    public void actionPerformed(ActionEvent e){
 
        if(e.getSource() == jeu)
        {    partie = new Partie();
              this.setContentPane(partie.getContainer()) ;    
        }         
 
                            }
 
 
 
}
 
 
package projetyams_graphique;
 
import java.awt.Checkbox;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
 
public class Partie extends JFrame implements ActionListener {
    public JeuDeDes jdd = new JeuDeDes();
    public JPanel container = null;//Déclaration de l’objet JPanel
    public JPanel containerDes = new JPanel();
        public JButton LancerDes = null ;
        public JButton GarderDes = null ;
        public JButton s1 = null ;
        public JButton s2 = null ;
        public JButton s3 = null ;
        public JButton s4 = null ;
        public JButton s5 = null ;
        public JButton s6 = null ;
        public JButton sbrelan = null ;
        public JButton scarre = null ;
        public JButton syams = null ;
        public JButton ssuite = null ;
        public JButton smin = null ;
        public JButton smax = null ;
 
        public JLabel l1 = null;
        public JLabel l2 = null;
        public JLabel l3 = null;
        public JLabel l4 = null;
        public JLabel l5 = null;
        public JLabel l6 = null;
        public JLabel lbrelan = null;
        public JLabel lcarre = null;
        public JLabel lyams = null;
        public JLabel lsuite = null;
        public JLabel lmin = null;
        public JLabel lmax = null;
 
        public Checkbox de1 = null;
        public Checkbox de2 = null;
        public Checkbox de3 = null;
        public Checkbox de4 = null;
        public Checkbox de5 = null;
        public JLabel texteGarderDes = null;
        public GridLayout DesLances = new GridLayout(2,5);
 
 
 
        public JLabel[] labels = {new JLabel("1"),new JLabel("1"),new JLabel("1"),new JLabel("1"),new JLabel("1")};
        public JLabel[] labelsgardes = {new JLabel("   "),new JLabel("   "),new JLabel("   "),new JLabel("   "),new JLabel("   ")};
 
        public FlowLayout layout = null ;//Déclaration de notre layout
        public JButton executer = null ;
 
 
    Joueur j = new Joueur();
    int choix_points;
 
 
 
 
 public Partie() {
 
 
  }
 
 
 
 
 public JPanel getContainer(){
 
 
                layout = new FlowLayout() ; //Instanciation du layout
		layout.setAlignment(FlowLayout.LEFT) ;
		container = new JPanel() ; //On crée notre objet
		container.setLayout(layout);
		jdd.demarrer_tour();
 
 
                JPanel desPane = new JPanel(new GridLayout(2,5));
                JPanel desGardesPane = new JPanel();
                JPanel TableauScore = new JPanel(new GridLayout(12,2));
                JPanel boutons = new JPanel(new GridLayout(0,1));
                desPane.setBorder((BorderFactory.createTitledBorder("Des a lancer")));
                TableauScore.setBorder((BorderFactory.createTitledBorder("Tableau des scores")));
                desGardesPane.setBorder((BorderFactory.createTitledBorder("Des gardes")));
 
 
                de1 = new Checkbox();
                de2 = new Checkbox();
                de3 = new Checkbox();
                de4 = new Checkbox();
                de5 = new Checkbox();
 
                desPane.add(labels[0]);
                desPane.add(labels[1]);
                desPane.add(labels[2]);
                desPane.add(labels[3]);
                desPane.add(labels[4]);
 
                desPane.add(de1);
                desPane.add(de2);
                desPane.add(de3);
                desPane.add(de4);
                desPane.add(de5);
 
                desGardesPane.add(labelsgardes[0]);
                desGardesPane.add(labelsgardes[1]);
                desGardesPane.add(labelsgardes[2]);
                desGardesPane.add(labelsgardes[3]);
                desGardesPane.add(labelsgardes[4]);
 
 
                l1 = new JLabel("");
                l2 = new JLabel("");
                l3 = new JLabel("");
                l4 = new JLabel("");
                l5 = new JLabel("");
                l6 = new JLabel("");
                lbrelan = new JLabel("");
                lcarre = new JLabel("");
                lyams = new JLabel("");
                lsuite = new JLabel("");
                lmin = new JLabel("");
                lmax = new JLabel("");
 
 
                LancerDes = new JButton("Lancer les dés");
                GarderDes = new JButton("Garder les dés");
                JButton s1 = new JButton("1");
                JButton s2 = new JButton("2");
                JButton s3 = new JButton("3");
                JButton s4 = new JButton("4");
                JButton s5 = new JButton("5");
                JButton s6 = new JButton("6") ;
                JButton sbrelan = new JButton("Brelan");
                JButton scarre = new JButton("Carre");
                JButton syams = new JButton("Yams");
                JButton ssuite = new JButton("Suite") ;
                JButton smin = new JButton("Min");
                JButton smax = new JButton("Max");
                LancerDes.addActionListener(this) ;
                boutons.add(LancerDes);
                TableauScore.add(s1);
                TableauScore.add(l1);
                TableauScore.add(s2);
                TableauScore.add(l2);
                TableauScore.add(s3);
                TableauScore.add(l3);
                TableauScore.add(s4);
                TableauScore.add(l4);
                TableauScore.add(s5);
                TableauScore.add(l5);
                TableauScore.add(s6);
                TableauScore.add(l6);
                TableauScore.add(sbrelan);
                TableauScore.add(lbrelan);
                TableauScore.add(scarre);
                TableauScore.add(lcarre);
                TableauScore.add(syams);
                TableauScore.add(lyams);
                TableauScore.add(ssuite);
                TableauScore.add(lsuite);
                TableauScore.add(smin);
                TableauScore.add(lmin);
                TableauScore.add(smax);
                TableauScore.add(lmax);
               GarderDes.addActionListener(this) ;
 
                boutons.add(GarderDes);
                container.add(boutons);
                container.add(desPane);
                container.add(desGardesPane);
                container.add(TableauScore);
                return container ;
 
        }
 
 
public boolean findepartie()
{   if (!j.tableauPlein())
        return false;
    else return true;
}
 
    public void demarrer_partie()
{      int points;
       j.initialiserTableau();
       while(!findepartie())
       {
            jdd.demarrer_tour();
            while(!( jdd.fin_de_tour() ))
            {}    
 
 
       }
}
 
public void actionPerformed(ActionEvent e){
                  if(e.getSource() == LancerDes)
                   {        if(jdd.nb_lances != 3)
 
                                jdd.lancer_des(labels);
 
                   }
 
                  if(e.getSource() == GarderDes)
                  {        
                            if(de1.getState() == true)
                            {jdd.garder_des(0, labelsgardes);
 
                             labels[0].setText("");
 
                            }
                            if(de2.getState() == true)
                            {   jdd.garder_des(1, labelsgardes);
                                labels[1].setText("");
 
                            }
                            if(de3.getState() == true)
                            {jdd.garder_des(2, labelsgardes);
                            labels[2].setText("");
 
                            }
                             if(de4.getState() == true)
                             { jdd.garder_des(3, labelsgardes);
                               labels[3].setText("");
 
                             }
                            if(de5.getState() == true)
                            { jdd.garder_des(4, labelsgardes);
                              labels[4].setText("");
 
                            }
                  }
 
                  }
 
public static void main(String[] args){
 
 
}
 
}
Voilà Merci...