Bonjour,
Je débute en java et je ne comprend pas pourquoi il y a une erreur dans mon code.
Merci de votre lumière.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 package vue; import javax.swing.ImageIcon; import javax.swing.JFrame; public class Interface extends javax.swing.JFrame { private ImagePanel panelIm = null; public Interface() { super(); this.setTitle("JHAK GAME"); this.setSize(1024, 768); this.setMaximumSize(null); this.setLocationRelativeTo(null); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); init(); this.setVisible(true); } private void init() { //barre des menus //image de fond panelIm = new ImagePanel(".//Ressources//fond.png"); panelIm.setLayout(null); //encadré du haut //encadré du bas //ajout this.add(panelIm); setContentPane(panelIm); } private void clean() { this.repaint(); } public static void main(String[] args) { new Interface(); } }Et voici les erreurs :
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 package vue; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; class ImagePanel extends JPanel { private Image img; public ImagePanel(String img) { this.img = new ImageIcon(getClass().getResource(img)).getImage(); } public ImagePanel(Image img) { this.img = img; Dimension size = new Dimension(img.getWidth(null), img.getHeight(null)); setPreferredSize(size); setMinimumSize(size); setMaximumSize(size); setSize(size); setLayout(null); } //On doit redefinir la methode paintComponent() pour les composant swing !!! et paint() pour awt @Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (img == null) return; g.drawImage(img, 0, 0, getWidth(), getHeight(), this); } }
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
at vue.ImagePanel.<init>(ImagePanel.java:16)
at vue.Interface.init(Interface.java:32)
at vue.Interface.<init>(Interface.java:22)
at vue.Interface.main(Interface.java:55)
Partager