0

在 Eclipse RCP 应用程序中,asplash.bmp用作启动画面。它在应用程序运行大约 5-6 分钟后关闭。我希望它在某些 UI 显示后立即关闭。我尝试使用Platform.endSplash()andapplicationRunning()之前的应用程序上下文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();
        }
}
4

2 回答 2

0

我希望启动画面在一切都初始化后关闭,而不是在设定的几秒钟后。否则你甚至不需要一个。

根据这个线程,您应该确保Platform.endSplash()在正确的上下文中调用该方法,这意味着该方法start(IApplicationContext context)

如果您已经这样做了,请提供一些代码来帮助我们理解您的问题

于 2013-02-14T16:28:42.977 回答
0

初始屏幕的关闭由创建StartupMonitorWorkbench.

创建工作台部分后(如您所说,“一旦显示某些 UI”),它将循环通过所有已注册的启动服务。您的工作台可见并且必须等待大约 5-6 分钟(或几秒钟)才能关闭初始屏幕,这意味着您有另一个启动监视器阻止了所需的 UI 转换。

于 2013-02-17T14:37:32.840 回答