Salut,
j'ai un probleme avec du dessin en java :
voici mon code.
tout d'abord j'ai classe qui produit l'erreur
j'ai ensuite dans une autre classe qui appelle la fonction qui produit l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class DrawPanel extends JPanel{ /../ public void initBuffer(){ imgbuf = createImage(drawXsize,drawYsize); gbuf = (Graphics2D)imgbuf.getGraphics(); } /../ }
Alors l'erreur est un JavaNullPointerException sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class TestPanel extends JPanel implements ActionListener{ public TestPanel(){ /../ drawPanel = new DrawPanel(); this.add(drawPanel); /../ } public voic actionPerformed(ActionEvent e){ if (e.getActionCommand().equals("init")){ drawPanel.initBuffer(); } } }
car imgbuf vaut null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part gbuf = (Graphics2D)imgbuf.getGraphics();
maintenant, le problème c'est que l'erreur a pas tout le temps lieu et j'ai pas trouvé les facteurs déterminants.
avant j'avais tout le temps cette erreur si j'initialisais le buffer dans le constructeur de la deuxième classe... je sais pas trop comment marche java en profondeur, mais je pense que c'est une histoire d'instanciation d'objet, et de l'ordre selon laquelle les différents objets constitutifs d'un objet sont instanciés.
Enfin si vous avez des idées, merci. je sais que c'est pas très clair, alors posez moi des questions aussi![]()
Partager