何时使用display.getdefault()。asyncexe()& display.getdefault()。syncexec()?

时间:2017-02-28 17:38:15

标签: swt eclipse-rcp rcp

我想在Shell上显示checkProblems()。所以这里是the scenario当我从下面的向导页面点击“下一步”按钮时,方法被调用:

(1)MessageBox:检查问题,如果发现问题,则显示Shell说“你的系统有问题,你要解决它吗?”如果用户单击“确定”按钮,将打开另一个ProgressBarMessageBox状态,并逐步设置进度和更新状态。

修复实用程序完成后,我调用另一个方法来读取文件是否有错误。如果没有错误,我会显示Thread t = new Thread()说“您的问题已解决,按确定继续”。

我在checkProblems()方法的开头创建了Display.getDefault.asyncexec(),并尝试将方法包装在syncexec()& ProgressBar但是当ProgressBar shell打开时,它会挂起一段时间并且进度没有设置,直接我收到“您的问题已解决”的消息。整个执行情况进展顺利,但我希望显示一个Display.getDefault.asyncexec(),其中包含有关场景背后发生的事情的一些状态。

请帮助我在哪里写syncexec()& nscurl

0 个答案:

没有答案