Salut,
voici mon problème, je fait un jeu de taquin pour me pratiquer avec java,
j'ai une première fenêtre qui s'ouvre avec 4 boutons pour le choix du jeu, 4X4 ou autre format de grille, en cliquant sur un bouton une deuxième fenêtre s'ouvre pour jouer le jeu.
Si j'écris le code ainsi pour fermer la deuxième fenêtre:
Je ferme les 2 fenêtres et c'est pas ce que je veux, et comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part fen1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
La 2ième fenêtre ferme seul, c'est bon oui, mais le problème c'est losque je clique pour rejouer sur un bouton de la première fenêtre, le jeu plante et voici l'erreur que ça donne losque je joue 3X3 en premier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part fen1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Il faut surement libérer la mémoire pour repartir un jeu, j'ai beau fouillé sur le web, mais je n'ai rien trouvé.
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 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at claude.mcdo.CoeurTaquin3X3.melanger(CoeurTaquin3X3.java:59) at claude.mcdo.Image3X3.jouer(Image3X3.java:40) at claude.mcdo.Image3X3.<init>(Image3X3.java:35) at claude.mcdo.ChoixJeu$5.actionPerformed(ChoixJeu.java:86) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3311) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
merci d'avance pour vos reponse.
Partager