急急,高手请进,关于SWT的问题
我想用SWT实现以下功能:
面板上有两个按钮(Start和Cancel),
当点击Start后,运行以下代码:
long start=System.currentTimeMillis();
long end;
long cnt=0;
while(true)
{
cnt++;
System.out.println(cnt);
end=System.currentTimeMillis();
if(end-start> 1000*10)
break;
}
我想在点击运行这段代码期间能点击Cancel将运行取消掉,问题是一旦Start了,面板上的Cancel就点不动,直到上面的运行完为止才可以点动。请高手指点,怎样才能不是Cancel按钮在Start运行期间不失效。我使用过
display.asyncExec(new Runnable()),但是仍然不成功。
谢谢了!急等,就这么多分了,知道不够,我会加的。
[解决办法]
我觉得不是失效
很有可能是你的cpu被耗尽,没有时间响应你的界面请求
你可以执行一段时间让线程sleep,然后你再试试:)