在SWT程序中,
SWT会自动创建一个用户界面线程
非用户界面线程不能直接操作用户界面线程
要想在另外一个线程中尝试修改用户界面,应采用以下两种:
方法一:
Runnable showDialogErr = new Runnable(){
public void run(){
MessageDialog.openInformation(null,Messages.getString("deploy_tip"),"已下线");
}
};
Display.getDefault().syncExec(showDialogErr);
方法二:
UIJob jobb = new UIJob(Messages.getString("DeployAction.deploy_task")) {
public IStatus runInUIThread(IProgressMonitor monitor) {
}
};
jobb.setUser(false);
jobb.schedule();
本文介绍在SWT程序中如何从非用户界面线程安全地更新用户界面。提供了两种有效的方法:使用`Display.getDefault().syncExec()`直接执行或通过`UIJob`调度任务。
3295

被折叠的 条评论
为什么被折叠?



