我应该在Eclipse应用程序中的哪个位置打开初始对话框?

时间:2011-11-03 20:24:32

标签: eclipse-rcp

我有一个Eclipse RCP应用程序。启动应用程序时,我想立即向用户显示登录对话框。哪个地方最好?

我尝试在WorkbenchAdvisor和WorkbenchWindowAdvisor中使用各种钩子,但所有这些钩子都在应用程序有一个任务栏图标之前打开一个对话框。在这种情况下,可以轻松地将对话框移动到其他窗口后面,并且不会显示应用程序处于打开状态,并且用户可能会错误地打开应用程序的多个实例。

我可以强制对话框在顶部,但这不是一个好的解决方案。我想要一个正确的模态对话框。这种对话框的一个很好的例子是Firefox的“将页面另存为”对话框。当此对话框出现时,它始终位于主浏览器窗口的前面;您必须先完成或关闭对话框,然后才能有效地恢复浏览网页。但是,这个“将页面保存为”对话框并不强制它自己位于每个窗口的顶部,只是浏览器。

2 个答案:

答案 0 :(得分:2)

您可以将启动画面设置为登录对话框:请参阅示例here

答案 1 :(得分:1)

第一:允许打开多个实例吗?如果没有,你必须独立于Login-Dialog-Problem实现一些阻止打开多个实例的东西。看看here(顺便说一句:我在服务器套接字方面做了很好的经验)。 第二:如果您在#postWindowOpen中覆盖ApplicationWorkbenchWindowAdvisor,则应用程序已启动并正在运行(包括任务项)。唯一的缺点是您的视图已经打开,您必须在成功登录后重新加载它们。