关于rcp在canvas中不断显示图片的问题,求大侠!
public class TestShell extends Shell {
/**
* Launch the application.
* @param args
*/
Canvas canvas = new Canvas(this,SWT.NO_BACKGROUND);
public Canvas getCanvas() {
return canvas;
}
public void setCanvas(Canvas canvas) {
this.canvas = canvas;
}
public static void main(String args[]) {
try {
Display display = Display.getDefault();
final TestShell shell = new TestShell(display);
shell.getCanvas().addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
// TODO Auto-generated method stub
Image image=null;
for (int i = 0; i <3; i++) {
image=new Image(null, "d:\\"+(i+1)+".jpg");
shell.getCanvas().redraw();
e.gc.drawImage(image ,0, 0);
try {
Thread.sleep(2000);
shell.getCanvas().redraw();//每张图画完后停2秒,然后组件redraw()
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
我在运行的时候,每张图都被画在了canvas上。。。叠在一起了,我用redraw还是不行。。。希望有大侠帮小弟看下!