启动画面&登录对话框不会粘在一起

时间:2016-02-06 06:37:18

标签: eclipse eclipse-rcp

我正在开发Eclipse RCP应用程序,我首先加载启动画面,然后登录,要求提供凭据,然后是我的主应用程序。但是这里出现的问题是" Splash screen&登录对话框不要粘在一起"像Eclipse" Splash屏幕和工作区启动器"当我们打开Eclipse时。为什么我需要这样的机制,因为如果我使用" Alt" +" Tab"然后任何一个窗口隐藏在当前线程后面,所以有时很难找到我的登录框或启动画面的位置。

1 个答案:

答案 0 :(得分:3)

要像Eclipse启动画面和工作区启动器一样运行,您需要使用标准的Eclipse启动屏幕机制并编写自己的IApplication

IApplication start方法中执行以下操作:

@Override
public Object start(IApplicationContext appContext) throws Exception {
    Display display = PlatformUI.createDisplay();

    try {
        // look and see if there's a splash shell we can parent off of
        Shell shell = WorkbenchPlugin.getSplashShell(display);
        if (shell != null) {
            shell.setText("Login window title");
            shell.setImages(Window.getDefaultImages());
        }

        new LoginDialog(shell);  // Use splash shell as the parent shell

        // TODO call PlatformUI.createAndRunWorkbench in the usual way
    } 
    finally {
        if (display != null) {
            display.dispose();
        }
    }