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 :
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
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()), ""); }
Je ne comprends rien à ce comportement.. Peut être que ça vient du fait que je lance mon traitement dans un thread?
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();
Merci
Partager