Erreur d'affichage d'image java

udiudi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je suis débutant en java et je souhaiterais tout simplement afficher une image sur ma fenêtre j'ai créé 2 class ci dessus mais l'image ne s'affiche pas!
dans la class gamepanel j'ai un warning sur cette logne: "public class GamePanel extends JPanel{"

la premiere class main:

package game;

import javax.swing.JFrame;

public class Main {
 public static void main(String[] args){
  JFrame frame= new JFrame("Jeu video");
 
  frame.setTitle("Fenêtre fond");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //qd on ferme prog arrete de tourner
  frame.setSize(1085, 724);
  frame.setLocationRelativeTo(null); //objet positionné au centre
  frame.add(new GamePanel());
  frame.setVisible(true); //pr que fenetre s'affiche
  
 }

}



la seconde classe:GamePanel

package game;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JPanel;


public class GamePanel extends JPanel{
 private Image img; //fond
 public int x; // x du fond et non du joueur
 public int addx;
 public static GamePanel getMainPanel;
 
 
 public GamePanel(){
  
 setFocusable (true);
 requestFocus();
    ImageIcon i=new ImageIcon(getClass().getResource("/res/thumb_fond montgne_1024.jpg"));
    img=i.getImage();
    x=0; //initialisation, le joueur ne bouge pas
    addx=0;
    getMainPanel=this; //pr qd on est dans autre class renvoie ce qu'on fait la
    }
 
 public void paint(Graphics g) { //pr dessiner image
  super.paint(g);
  Graphics2D g2=(Graphics2D)g;
  
  g2.drawImage(img,x,0,null);
  
 }
 
 public void updatePosition(){
  x=x+addx; //le personnage n'avance pas mais l'image va vers l'arrière
 }
}
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Ce n'est qu'un warning, rien de problématique pour ton programme.

Tu peux rajouter cette ligne pour résoudre le warning :
private static final long serialVersionUID = 1L;

Voir les explications ici :
https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
0
udiudi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci de ta réponse, je pense en effet que le probleme ne vient pas de la puisque meme en rajoutant cette ligne l'image ne s'affiche pas sur ma fentre
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Est-ce que tu as un message d'erreur, si oui lequel ?

Je pense que l'accès à l'image peut planter, essaye avec :
img=ImageIO.read(new File("/res/thumb_fond montgne_1024.jpg"));
0
udiudi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai ce message d'erreur:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:181)
at game.GamePanel.<init>(GamePanel.java:22)
at game.Main.main(Main.java:14)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > udiudi Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
C'est que Java n'arrive pas à accéder à l'image, essayes mon code.
0