Bonjour, voila ca fait un petit moment que je me prend la tete sur le format des path de fichier.

J'ai un JFileChooser qui me permet de séléctionner un fichier (ici, une image), puis j'aimerais récuperer le chemin de cette image pour pouvoir charger l'image un peu plus tard. Seulement quelque soit la methode utilisé ( getPath(), getAbsolutePath, .toURI.getPath, toUrl etc...) je n'arrive pas à charger l'image.

voici le code du JFileChooser:

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
//set the chooser
				JFileChooser chooser = new JFileChooser();
				OpenFilter gifFilter = new OpenFilter("Gif File",".gif");
				chooser.addChoosableFileFilter(gifFilter);
				chooser.setAcceptAllFileFilterUsed(false);
				int returnVal = chooser.showOpenDialog(ElementView.this);
 
				if(returnVal == JFileChooser.APPROVE_OPTION) {
					System.out.println("You chose to open this file: " +
							chooser.getSelectedFile().getPath());
					try {
						cont.setDataType("picture");
						String path = chooser.getSelectedFile().getPath();
						cont.setDataPath(path);
 
						content.removeAll();
						createPane(cont.getDataType());
						content.revalidate();
					} catch (ContainerException ce) {
						ce.printStackTrace(); 
}
setDataPath ajoute juste le path dans un objet de ma structure. que j'utilise ici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
				ImageIcon scaleImage = createImageIcon(cont.getDataPath());
				Image image = scaleImage.getImage();
				LabelImage labIm = new LabelImage(image);
 
				content.add(labIm, BorderLayout.CENTER);
et la methode pour charger l'image :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
	/** Returns an ImageIcon, or null if the path was invalid. */
    private ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = getClass().getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
Et donc j'ai le droit à un joli Couldn't find file à chaque fois. J'ai essayer de passer par un URI, une URL etc..., ca ne change rien. De plus les methode setDataPath etc.. fonctionne, j'ai imprimé le chemin pour en etre sur.
Et creatImageIcon fonctionne aussi lorsque je lui passe un path moi meme comme par exemple "Icons/image_test.jpg".

Voila, si vous avez une idée, parce que je vois vraiment pas, et je suis sur que c'est tout con en plus...