Changer de JPanel ayant un paintComponent
Bonjour,
je fais un jeu avec swing et j'aimerais passé d'un JPanel pan (sous classe de JPanel avec un paintComponent) à un autre JPanel panOuverture (standar cette fois,instancié dans les attributs de la classe Jeu), pour pouvoir afficher le menu une fois le jeu fini.
Donc dans une sous classe de JFrame nommée Jeu,
j'ai fais cette fonction:
Code:
1 2 3 4 5 6 7
| public void changePan(){
this.remove(pan);
this.add(panOuverture);
this.pack();
this.setVisible(true);
pan.Ouverture.requestFocusInWindow();
} |
et dans pan j'appelle la fonction changePan(), une fois que le joueur a perdu !
Or, ça ne fonctionne pas, j'ai des erreurs du type:
Code:
1 2 3 4 5 6
|
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5223)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
at javax.swing.JComponent._paintImmediately(JComponent.java:5171)
at javax.swing.RepaintManager$3.run(RepaintManager.java:796) |
Je voulais savoir si d'abord cette fonction est bonne parce que je ne sais pas trop géré les panels avec les paintComponent() comme vous pouvez le voir, je me dis que peut être j'oublie une instruction nécessaire.
MERCI