probleme d'affichage d'une seconde fenêtre

probleme d'affichage d'une seconde fenêtre - Java - Programmation

Marsh Posté le 11-04-2015 à 18:23:02    

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 :
  1. public class FenetreMain extends JFrame {
  2. JButton newgame;
  3. JPanel p;
  4. public FenetreMain(){
  5.   p=new JPanel();
  6.   p.setPreferredSize(new Dimension(1000,600));
  7. this.setSize(1000,800);
  8. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  9. this.setFocusable(true);
  10.  newgame=new JButton();
  11.  newgame.addActionListener(new ActionListener()
  12.    {
  13.      public void actionPerformed(ActionEvent e)
  14.      {
  15.        FenetreMain.this.dispose();   
  16.       Fenetre f=new Fenetre();
  17.      // f.setFocusable(true);  
  18.      }
  19.    });
  20.  this.setLocationRelativeTo(null);  
  21.  this.add(newgame);
  22.  this.setVisible(true);
  23. }}


 
et le code du constructeur de ma frame de jeu au cas ou mais elle fonctionne quand on l'appelle directement:

Code :
  1. public Fenetre(){       
  2. p=new JPanel();
  3. p.setPreferredSize(new Dimension(1000,600));
  4.   p.setLayout(null); // be able to overlap
  5. calque=new pancalque();
  6.  calque.setOpaque(true);
  7.   this.setLayout(new BorderLayout());
  8.  
  9.    this.setSize(1000,1000);
  10.  this.addKeyListener(new gameControler(this));
  11.    this.setFocusable(true);
  12.  
  13.    //KeyListener k =new keylistener();
  14.   //this.addKeyListener (new gameControler());
  15.   pan.setPreferredSize(new Dimension(1000,600));
  16.   calque.setOpaque(false);
  17.   calque.setBackground(Color.black);
  18.       // set opaque to false - background not drawn
  19.   calque.setPreferredSize(new Dimension(1000,600));
  20.   pan.loadImages();
  21.   //pan.setBackground(Color.BLUE);
  22.  // pan2.setPreferredSize(new Dimension( 1000,500));
  23.   //pan2.loadImages();
  24.  // arbre.setPreferredSize(new Dimension (800,25));
  25.     this.setTitle("Animation" );
  26.     this.setSize(1000,800);
  27.     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.     this.setLocationRelativeTo(null);
  29.  
  30.     this.setContentPane(new JPanel());
  31.    
  32.    Container tableau = this.getContentPane();
  33.     //bouton.addActionListener(new BoutonListener());
  34.    tableau.setLayout(new BorderLayout());
  35.    JPanel panbouton=new JPanel();
  36.    panbouton.setSize(800,200);
  37.    panbouton.setLayout(new BorderLayout());
  38.    JButton bouton=new JButton();
  39.    JButton bouton2=new JButton();
  40.    boutonbalon=new JButton();
  41.    bouton.addActionListener(new ActionListener()
  42.    {
  43.      public void actionPerformed(ActionEvent e)
  44.      {
  45.       precedantClick=actuelClick;
  46.       actuelClick=1; 
  47.    
  48.       if (precedantClick==2)
  49.        resizequick(10);
  50.       resizequick(1);
  51.       pan.setcouloir(1);
  52.       altitudestable=false;
  53.       depart=true;
  54.       tempphasedepart=0;
  55.       tempamortie=1000;
  56.       amortie=false;
  57.       phaseDescenteetAmortie=true;
  58.      }
  59.    });
  60.    bouton2.addActionListener(new ActionListener()
  61.    {
  62.      public void actionPerformed(ActionEvent e)
  63.      {
  64.       precedantClick=actuelClick;
  65.       actuelClick=2;
  66.       resizequick(-1);
  67.       pan.setcouloir(-1);
  68.       altitudestable=false;
  69.       depart=true;
  70.       tempphasedepart=0;
  71.       tempamortie=1000;
  72.       amortie=false;
  73.       phaseDescenteetAmortie=true;
  74.      }
  75.    });
  76.    boutonbalon.addActionListener(new ActionListener()
  77.    {
  78.      public void actionPerformed(ActionEvent e)
  79.      {
  80.       precedantClick=actuelClick;
  81.       actuelClick=0;
  82.      //altitudestable=false;
  83.      //amortie=true;
  84.       tempamortie=1000;
  85.      phaseDescenteetAmortie=true;
  86.       //pan.startbalon(100);
  87.      tempphasedepart=0;
  88.      depart=false;
  89.      tempamortie=0;
  90.      }
  91.    });
  92.    bouton.setText("BAS" );
  93.    bouton2.setText("HAUT" );
  94.    panbouton.add(bouton,BorderLayout.WEST);
  95.    panbouton.add(bouton2,BorderLayout.EAST);
  96.    panbouton.add(boutonbalon,BorderLayout.CENTER);
  97.    panbouton.setBackground(Color.BLUE);
  98.  
  99.    //p.add(pan);
  100.    //p.add(calque);
  101.  
  102.    tableau.add(pan,BorderLayout.NORTH);
  103.    calque.setOpaque(false);
  104.    //tableau.add(calque,BorderLayout.NORTH);
  105.  
  106.  
  107.    tableau.add(panbouton,BorderLayout.CENTER);
  108.    //tableau.add(pan2,BorderLayout.CENTER);
  109.   // tableau.add(bouton,BorderLayout.SOUTH);
  110.   // tableau.add(pan2,BorderLayout.SOUTH);
  111.    pan.repaint();
  112.  
  113.    calque.repaint();
  114.  
  115.    panbouton.repaint();
  116.     this.setVisible(true);
  117.    
  118. go(1,1);
  119. //resizeavion(1);
  120. //go(-1,1);
  121. //resizeavion(0);
  122. //go(1,1);
  123.   }


 
Voila si quelqu'un aurait une petite idée du probleme je lui serais reconnaissant, merci  
 
 

Reply

Marsh Posté le 11-04-2015 à 18:23:02   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed