Bonsoir,

Mon appli se comporte bizarrement.
J'affiche des images dans un jtabbedpane, et j'effectue des traitements sur ces images [niveaux de gris, ...]. Lorsque ma frame est en mode restaurer et que j'applique mes traitements à mes images et qu'ensuite j'agrandis la frame ça fonctionne niquel. Par contre lorsque je fais les traitements directement en frame agrandit, seulement la dernière image est affectée.

Ma classe de traitement :
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
 
@Override
public BufferedImage perform(BufferedImage img) {
	BufferedImage image = this.image.getImage();
	ColorConvertOp converter = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null);
	converter.filter(image, image);
	this.image.setImage(image);
 
	return image;
}
 
@Override
public void run() {
	this.newImage = new ImagePanel(this.perform(this.image.getImage()), "");
}
Et j'effectue mon traitement dans ma fenêtre principale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
for (ImagePanel image : JFrameIndex.projectList.get(index).getImages()) {
	Greyscale grey = new Greyscale(image, "");
	grey.run();
	JFrameIndex.projectList.get(index).getImages().set(i, grey.getNewImage());
	++i;
}
this.frame.revalidate();
this.frame.repaint();
Je ne comprends rien à ce comportement.. Peut être que ça vient du fait que je lance mon traitement dans un thread?

Merci