Hello,
J'essaye de remplacer une image que j'affiche dans un canvas.

Voici comment j'affiche l'image:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
canvas.addListener (SWT.Paint, new Listener () {
   public void handleEvent (Event e) {
      GC gc = e.gc;
      gc.drawImage (image, origin.x, origin.y);
   }
});
L'image s'affiche. Cependant, apres cela, je veux afficher une nouvelle image dans le canvas, en sélectionnant un fichier image a l'aide d'un FileDialog, ouvert a partir d'un bouton de menu.

Je cree donc un listener pour mon menu "open file". Mon soucis est que je n'arrive pas a afficher la nouvelle image dans le canvas. Voici ce que je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
MenuItem openItem = new MenuItem(fileMenu, SWT.NONE);
openItem.addListener(SWT.Selection, new Listener() {
   public void handleEvent(Event e) {
	FileDialog dialog = new FileDialog(shell.getShell(), SWT.OPEN);
	dialog.setText("Open an image file or cancel");
	String string = dialog.open();
	final Image newimage = new Image(shell.getDisplay(), string);
	image.dispose();
	???? Comment ecrire la newimage  dans le canvas?
	canvas.redraw();
   }
});
Il me manque une partie, a savoir , comment re ecrire la nouvelle image dans le canvas.
Si qqun peut me donner un pti coup de pouce??
Merci, morchea.