Probleme lecture chemin fichier JAVA

Résolu
Bonjour,

je voudrais afficher une image en Java et pour ce faire, j'ai créé les deux classes ci-dessous:

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class graphisme extends JPanel {
public static void main(String args[])
{
JFrame fen=new JFrame();
fen.setSize (300,150);
fen.setTitle("Ma premiere fenetre en java");
fen.setBounds (10, 40, 300, 200) ;
fen.setContentPane(new panneau());
fen.setVisible(true);

}

}

import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class panneau extends JPanel{
public void paintComponent(Graphics g)
{
File fich=new File("C:/Utilisateurs/Keurdange/Mes images/Feu.jpg");
try {
Image moi = ImageIO.read(fich);
// l'erreur se trouve là (source inconnu). source ici c'est fich

g.drawImage(moi, 0, 0, this.getWidth(), this.getHeight(), this);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}
}



Dieu n'a fait qu'ébaucher l'homme, c'est sur terre que chacun se crèe

1 réponse

  1. Modérateur
    Est-ce que tu es sûr du chemin d'accès à l'image ?
    Je pense que tu devrais remplacer /Utilisateurs par /Users, et /Mes images par /PicturesLa confiance n'exclut pas le contrôle
    1. j'ai essayé ca aussi mais rien à faire. Je suis même très sûr du chemin. Pour être même certain, j'ai fait clic droit sur le fichier puis propriétés. je sais plus quoi faire là.
    2. Modérateur
      Moi j'ai essayé ton code avec mon propre chemin d'accès "D:/test.png" et ça marche !
      Donc ça ne vient pas du code, mais de ton fichier. Essaye de le déplacer dans un autre dossier...
    3. voilà ce que j'obtiens

      javax.imageio.IIOException: Can't read input file!
      at javax.imageio.ImageIO.read(Unknown Source)
      at panneau.paintComponent(panneau.java:12) //là ou c'est mis en gras ci-haut
    4. même avec ca D:/Feu_1_.jpg j'ai la même chose
    5. Modérateur
      Alors là...
      Essaye de rajouter cette ligne juste après la création de File fich.
      System.out.println(fich.isFile()+" "+fich.canRead()+" "+fich.getAbsolutePath());

      Normalement il devrait t'afficher "true true D:\Feu_1_.jpg"