我有一个JFace应用程序,想在启动时做一些工作。所以我超越了窗户的开放方法 但是现在我遇到的问题是,在发生故障的情况下,我无法显示错误消息,因为此时shell为空。我不知道要解决这个问题。
_('ManagementForm data is missing or has been tampered with'), code='missing_management_form',
答案 0 :(得分:1)
我会尝试:
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
MessageDialog.openError(Display.getCurrent().getActiveShell(), "Error", "Message");
}
});
EDIT:
静态方法Display.getDefault()
返回默认显示线程,如果它尚不存在则会创建一个新线程。
另一方面,静态方法Display.getCurrent()
从当前运行的线程返回Display
实例,如果当前运行的线程不是任何用户界面线程,则返回null
显示。