pb affichage d'une image dans un JPanel

pb affichage d'une image dans un JPanel - Java - Programmation

Marsh Posté le 12-09-2003 à 14:09:03    

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:
 

Code :
  1. public void setCarte( ImageIcon image ){
  2.    if( image != null ){
  3.    //imgCarte = JCartes.scaleImage( image, dim );
  4.    imgCarte = image;
  5.    this.remove( carte );
  6.    try{carte = new JLabel( JCartes.scaleImage( imgCarte,
  7.                                                (int)getTailleCarte(currentCarteDimension).getWidth(),
  8.                                                (int)getTailleCarte(currentCarteDimension).getHeight()));
  9.    this.add( carte, BorderLayout.CENTER );
  10.    this.validate();
  11. } catch( Exception e){
  12.    System.err.println("Erreur ds JCartes::scaleImage(...)" );}
  13.   }
  14. }


----------------------------
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'est pas toujours levée.
J'ai modifié les couleurs de mon image (palette RGB) mais rien à faire...  
 
Qqun a t il eu déjà ce pb ? Comment l'a t il resolu ?
 
Merci

Reply

Marsh Posté le 12-09-2003 à 14:09:03   

Reply

Marsh Posté le 12-09-2003 à 14:10:38    

introduit des variables au lieu de tout faire en une ligne, ensuite imprime la trace de l'exception qui est levée, et ça te dira deja un peu plus d'ou ça vient


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-09-2003 à 14:11:35    

Essaye avec d'autres images assez différentes pour voir.

Reply

Marsh Posté le 12-09-2003 à 14:49:33    

Yo c Spi a écrit :

Essaye avec d'autres images assez différentes pour voir.


 
Ca marche très bien avec d'autres images...  
 
Le problème vient de la palette de couleurs, et j'aimerais savoir si qqun sait si il y a :  
 
- une couleur particulière
- gamme de couleur
- proporiété de l'image ou de la palette
 
 qui pourrait provoquer cette erreur
 

Reply

Marsh Posté le 12-09-2003 à 19:21:49    

mallox a écrit :


 
Ca marche très bien avec d'autres images...  
 
Le problème vient de la palette de couleurs, et j'aimerais savoir si qqun sait si il y a :  
 
- une couleur particulière
- gamme de couleur
- proporiété de l'image ou de la palette
 
 qui pourrait provoquer cette erreur
 
 


Peut-être un problème de transparence ? (ColorModel implemente Transparency)...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed