一个简单的SWT包绘图问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:34:00
小弟初学SWT,有些东西弄不明白,希望请高人解决一下
SWT包有绘图语句,但是我不明白如何去刷新,或者说在一定时间内重绘
举个例子:比如在界面上某位置用DrawOval画一个圆,我想在5秒钟后在相同位置再画一个正方形,但是椭圆就相应的消失,过程全自动完成(就是类似于简单动画制作),这个程序需要怎么写呢?
再次谢谢,得到满意的答案分继续加。

//这个在LINUX下做的(未在WIN下测试哦),交替画圆和方框
//: SWTDrawTest.java

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
public class SWTDrawTest {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("SWT 交替画圆和方框");
shell.setLayout(new FillLayout());
C c = new C(shell,SWT.NONE);
shell.setBounds(300,100,300,300);
shell.layout(true);
shell.open ();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
c.dispose();
}
}

//用画布类来画图:
class C extends Canvas implements PaintListener,Runnable{
private int delayInMillis = 1000;//更新时间为1秒
private boolean sw;
private Color bgColor,fgColo