Ok j'ai compris. J'ai modifié la class comme ceci :
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| class SerializableImage extends Image implements Serializable
{
private String imageName;
private transient Image proxied = null;
private Component compo;
public SerializableImage(String imageName,Component compo)
{
this.imageName = imageName;
this.compo = compo;
}
protected Image getProxied()
{
if (proxied == null)
{
proxied = compo.getToolkit().getImage(imageName);
}
return proxied;
}
public void draw(Graphics g)
{
((SerializableImage) getProxied()).draw(g);
}
@Override
public Graphics getGraphics() {
// TODO Auto-generated method stub
return getProxied().getGraphics();
}
@Override
public int getHeight(ImageObserver arg0) {
// TODO Auto-generated method stub
return getProxied().getHeight(arg0);
}
@Override
public Object getProperty(String arg0, ImageObserver arg1) {
// TODO Auto-generated method stub
return getProxied().getProperty(arg0, arg1);
}
@Override
public ImageProducer getSource() {
// TODO Auto-generated method stub
return getProxied().getSource();
}
@Override
public int getWidth(ImageObserver arg0) {
// TODO Auto-generated method stub
return getProxied().getWidth(arg0);
}
} |
Mais il y a toujours la même erreur.
Je viens d'essayer ça :
JLabel[] figures={new JLabel("<html><img='img/carre.gif'></html>"),new JLabel("<html><img='img/triangleBas.gif'></html>"),new JLabel("<html><img='img/triangleHaut.gif'></html>"),new JLabel("<html><img='img/rond.gif'></html>"),new JLabel("<html><img='img/rien.gif'></html>")};
Mais il m'affiche l'objet "toStringé" dans la liste. Est ce qu'on ne peut pas faire un truc dans ce style ?
Partager