Bonsoir à tous.
Je suis actuellement en train de développer une application java et je me rends compte d'un bug sur le chargement de certaines images.
Donc pour situer le contexte je dois réaliser une application pour gérer des machines en Java et derrière j'ai un espace admin en PHP qui met à jour la BDD. Donc je code le logiciel, je corrige les derniers bugs tout fonctionne.
Et aujourd'hui avant dernier jour avant de remettre le logiciel, je me dis allé hop hp un dernier petit test rajoute un élément. Et là horreur, dès que j'essaie d'afficher une image bam, erreur java.
sun.awt.image.ImageFormatException: Unsupported color conversion request
at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
at sun.awt.image.JPEGImageDecoder.produceImage(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
En regardant l'erreur, j'ai l'impression que c'est une erreur de format sur un fichier jpeg. Sauf que le problème c'est que je ne lis que des .png. Sur certaines images, j'ai cette erreur. Pourtant j'ai vérifié les images snt bien présentes dans le dossier semble au bon format et sont affichables en php par exemple.
Donc je met le code qui me permet d'afficher une image :
et pour l'ajouter à ma JFrame je fais le classique :
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 public class PanelImage extends JPanel { public String image; public PanelImage(String image) { this.image = image; setLayout(null); } public void paintComponent(Graphics g) { Image icon = Toolkit.getDefaultToolkit().getImage("images/"+ image); g.drawImage(icon, 0, 0, getWidth(), getHeight(), this); //this.setPreferredSize(new Dimension(150, 150)); } public void setImage(String image) { this.image = image; repaint(); } public String getImage() { return image; } }
Si quelqu'un a une idée ou s'est déjà fait insulter de la sorte, un coup de main ne serait pas de refus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PanelImage panelAccueil = new PanelImage("imageAccueil.png"); //définitions des propriétés, genre la taille etc... //.. //ajout mainLayout.add(panelAccueil);
Merci d'avance
Partager