Pb affichage d'une image dans un JPanel

Signaler
Messages postés
1
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
12 septembre 2003
-
Messages postés
1
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 mars 2008
-
Bonjour à tous,

J'ai une erreur à l'execution de mon application qui affiche une image dans un JPanel. L'image s'affiche qd meme mais une erreur est levée et j'arrive pas à voir d'ou ca vient :

---------------------------------------
voici le code qui affiche une ImageIcon dans mon Jpanel:

public void setCarte( ImageIcon image ){
if( image != null ){
//imgCarte = JCartes.scaleImage( image, dim );
imgCarte = image;
this.remove( carte );
try{carte = new JLabel( JCartes.scaleImage( imgCarte,
(int)getTailleCarte(currentCarteDimension).getWidth(),
(int)getTailleCarte(currentCarteDimension).getHeight()));
this.add( carte, BorderLayout.CENTER );
this.validate();
} catch( Exception e){
System.err.println("Erreur ds JCartes::scaleImage(...)");}
}
}

----------------------------
et voici l'erreur à l'execution :

Uncaught error fetching image:
java.lang.ClassCastException
at java.awt.image.ColorModel.getAlpha(ColorModel.java:814)
at java.awt.image.ColorModel.getRGB(ColorModel.java:859)
at sun.awt.image.ImageRepresentation.convertToRGB(ImageRepresentation.java:271)
at sun.awt.image.ImageRepresentation.setPixels(ImageRepresentation.java:485)
at java.awt.image.AreaAveragingScaleFilter.accumPixels(AreaAveragingScaleFilter.java:196)
at java.awt.image.AreaAveragingScaleFilter.setPixels(AreaAveragingScaleFilter.java:235)
at sun.awt.image.PixelStore8.replayLines(PixelStore8.java:38)
at sun.awt.image.PixelStore.replay(PixelStore.java:217)
at sun.awt.image.PixelStore.replay(PixelStore.java:146)
at sun.awt.image.InputStreamImageSource.updateFromStore(InputStreamImageSource.java:295)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:244)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)

-----------------------------------
Le pire c'est que l'image s'affiche dq meme. et l'erreur n'a pas lieu à chaque fois.
J'ai modifié les couleurs de mon image (palette RGB) mais rien à faire...

Qqun a t il eu deja ce pb ?

Merci

1 réponse

Messages postés
1
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 mars 2008

Pour ceux qui auraient encore le pb (qui n'est toujours pa résolu), c'est apparemment un bug lié a la méthode Image.getScaledInstance avec l'algorithme SCALE_SMOOTH. Utiliser un autre algo (e.g. SCALE_REPLICATE) résoud le pb.