随后需要在一个新打开的窗口后启动一个线程读取一个对象并按秒刷新界面显示。
仍然使用异步线程实现。
方法为:
1、创建一个线程:
public class TestThread extends Thread{
public volatile boolean exit = false;
private Label label;
private Runnable runnable = new Runnable(){
public void run()
{
//注意if语句中的这句话,如果不加会在关闭窗口的时候出现Wedgit is disposed的异常
if(!label.isDisposed)
{
label.setText("test");
}
}
};
public void run()
{
while(!exit)
{
try {
sleep(1000);
} catch (Exception e) {
// TODO: handle exception
return;
}
display.asyncExec(runnable);
}
}
}
2、外部调用
TestThread vt = new TestThread ();
vt.setLabel(label);
vt.setDisplay(display);
vt.start();
3、关闭方法
shell.addShellListener(new ShellAdapter()
{
public void shellClosed(ShellEvent e) {
if(!vt.exit)
{
vt.exit = true;
try {
vt.join();
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});