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();
    }
 
}
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);
    }
 
}
Et voici les erreurs :

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)