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