在eclipse RCP应用程序中,splash.bmp
用作启动画面。它在应用程序运行大约5-6分钟后关闭。一旦UI显示,我希望它关闭。我在Platform.endSplash()
之前尝试使用应用程序上下文的applicationRunning()
和PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor())
。
无法关闭启动画面。
任何建议都会有所帮助。如果我能在大约10-15秒之后关闭闪屏,那也没关系。
public Object start(IApplicationContext arg0) throws Exception {
Display display = PlatformUI.createDisplay();
int returnCode = 0;
try {
//arg0.applicationRunning();
Platform.endSplash();
returnCode = PlatformUI.createAndRunWorkbench(display,
new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return PlatformUI.RETURN_RESTART;
}
return PlatformUI.RETURN_OK;
} finally {
//some other code here.
display.dispose();
}
}
答案 0 :(得分:0)
我希望在初始化所有内容时关闭启动画面,而不是在设定的秒数之后。否则你甚至不需要一个。
根据this thread,您应该确保在正确的上下文中调用Platform.endSplash()
方法,这意味着方法start(IApplicationContext context)
如果您已经这样做,请提供一些代码以帮助我们了解您的问题
答案 1 :(得分:0)
关闭启动画面由StartupMonitor
中创建的Workbench
处理。
创建工作台部分后(正如您所说,“只要某些UI显示”),它将循环遍历所有已注册的启动服务。事实上,您的工作台可见并且必须等待~~6分钟(或几秒钟)才能关闭启动画面意味着您有另一个启动监视器阻止您所需的UI转换。