2011-11-03 46 views
0

我有一個Eclipse RCP應用程序。當應用程序啓動時,我想立即向用戶提供一個登錄對話框。最好的地方在哪裏呢?我應該在Eclipse應用程序中打開初始對話框?

我試着在WorkbenchAdvisor和WorkbenchWindowAdvisor中使用各種鉤子,但所有這些在應用程序有一個任務欄圖標之前打開一個對話框。在這種情況下,對話框可以輕鬆地移到其他窗口的後面,並且不會有視覺顯示應用程序已打開,並且用戶可能會錯誤地打開應用程序的多個實例。

我可以強制對話框在上面,但這不是一個好的解決方案。我想要一個適當的模態對話框。這種對話框的一個很好的例子就是Firefox的「save page as」對話框。當這個對話框出現時,它總是在主瀏覽器窗口的前面;您必須先完成或關閉對話框,然後纔能有效地繼續瀏覽網頁。然而,這個「將頁面另存爲」對話框不會強制自己位於每個窗口的頂部,僅僅是瀏覽器。

回答

1

第一:是否允許打開多個實例?如果沒有,你必須實現獨立於Login-Dialog-Problem的東西,這可以防止打開多個實例。看看here(順便說一句:我用服務器套接字的東西取得了很好的經驗)。 第二:如果您在ApplicationWorkbenchWindowAdvisor中覆蓋#postWindowOpen,應用程序已啓動並正在運行(包括任務項)。唯一的缺點是您的視圖已經打開,您必須在成功登錄後重新加載它們。

+0

是的,我最終重寫了WorkbenchWindowAdvisor的postWindowOpen。 – Buttons840

2

您可以在您的登錄對話框中創建啓動畫面:請參閱示例here

相關問題