bertr974 | Bonjours a tous, je suis bloqué sur un problème depuis peu, je fait un petit jeu en 2d utilisant un JFrame qui a son tour appel un Jpannel utilisant paint() jusque la tout fonctionne mais en essayant d'intégrer une fenetre principal de menu toute simpe pour l'instant (un bouton) ma fenetre de jeu s'affiche apres le click du bouton mais toute blanche.
(Lorsque j'instancie ma fenetre de jeu "f" en dehors de l'action perfomed de ma mainframe la bizarement sa marche(avec apparition tres courte de la main evidement) Je vous remercie d'avance si quelqu'un peut m'aider . Je met d'abbord le code de ma mainFrame:
Code :
- public class FenetreMain extends JFrame {
- JButton newgame;
- JPanel p;
- public FenetreMain(){
- p=new JPanel();
- p.setPreferredSize(new Dimension(1000,600));
- this.setSize(1000,800);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setFocusable(true);
- newgame=new JButton();
- newgame.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- FenetreMain.this.dispose();
- Fenetre f=new Fenetre();
- // f.setFocusable(true);
- }
- });
- this.setLocationRelativeTo(null);
- this.add(newgame);
- this.setVisible(true);
- }}
|
et le code du constructeur de ma frame de jeu au cas ou mais elle fonctionne quand on l'appelle directement:
Code :
- public Fenetre(){
- p=new JPanel();
- p.setPreferredSize(new Dimension(1000,600));
- p.setLayout(null); // be able to overlap
- calque=new pancalque();
- calque.setOpaque(true);
- this.setLayout(new BorderLayout());
-
- this.setSize(1000,1000);
- this.addKeyListener(new gameControler(this));
- this.setFocusable(true);
-
- //KeyListener k =new keylistener();
- //this.addKeyListener (new gameControler());
- pan.setPreferredSize(new Dimension(1000,600));
- calque.setOpaque(false);
- calque.setBackground(Color.black);
- // set opaque to false - background not drawn
- calque.setPreferredSize(new Dimension(1000,600));
- pan.loadImages();
- //pan.setBackground(Color.BLUE);
- // pan2.setPreferredSize(new Dimension( 1000,500));
- //pan2.loadImages();
- // arbre.setPreferredSize(new Dimension (800,25));
- this.setTitle("Animation" );
- this.setSize(1000,800);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setLocationRelativeTo(null);
-
- this.setContentPane(new JPanel());
-
- Container tableau = this.getContentPane();
- //bouton.addActionListener(new BoutonListener());
- tableau.setLayout(new BorderLayout());
- JPanel panbouton=new JPanel();
- panbouton.setSize(800,200);
- panbouton.setLayout(new BorderLayout());
- JButton bouton=new JButton();
- JButton bouton2=new JButton();
- boutonbalon=new JButton();
- bouton.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- precedantClick=actuelClick;
- actuelClick=1;
-
- if (precedantClick==2)
- resizequick(10);
- resizequick(1);
- pan.setcouloir(1);
- altitudestable=false;
- depart=true;
- tempphasedepart=0;
- tempamortie=1000;
- amortie=false;
- phaseDescenteetAmortie=true;
- }
- });
- bouton2.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- precedantClick=actuelClick;
- actuelClick=2;
- resizequick(-1);
- pan.setcouloir(-1);
- altitudestable=false;
- depart=true;
- tempphasedepart=0;
- tempamortie=1000;
- amortie=false;
- phaseDescenteetAmortie=true;
- }
- });
- boutonbalon.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- precedantClick=actuelClick;
- actuelClick=0;
- //altitudestable=false;
- //amortie=true;
- tempamortie=1000;
- phaseDescenteetAmortie=true;
- //pan.startbalon(100);
- tempphasedepart=0;
- depart=false;
- tempamortie=0;
- }
- });
- bouton.setText("BAS" );
- bouton2.setText("HAUT" );
- panbouton.add(bouton,BorderLayout.WEST);
- panbouton.add(bouton2,BorderLayout.EAST);
- panbouton.add(boutonbalon,BorderLayout.CENTER);
- panbouton.setBackground(Color.BLUE);
-
- //p.add(pan);
- //p.add(calque);
-
- tableau.add(pan,BorderLayout.NORTH);
- calque.setOpaque(false);
- //tableau.add(calque,BorderLayout.NORTH);
-
-
- tableau.add(panbouton,BorderLayout.CENTER);
- //tableau.add(pan2,BorderLayout.CENTER);
- // tableau.add(bouton,BorderLayout.SOUTH);
- // tableau.add(pan2,BorderLayout.SOUTH);
- pan.repaint();
-
- calque.repaint();
-
- panbouton.repaint();
- this.setVisible(true);
-
- go(1,1);
- //resizeavion(1);
- //go(-1,1);
- //resizeavion(0);
- //go(1,1);
- }
|
Voila si quelqu'un aurait une petite idée du probleme je lui serais reconnaissant, merci |