我試圖打開一個DateTime shell時,單擊Eclipse插件內的一個按鈕,該插件擴展了平臺的首選項。SWT未啓用shell
這是按鈕SelectionAdapter
@Override
public void widgetSelected(SelectionEvent e) {
super.widgetSelected(e);
Display display = Display.getCurrent();
Shell ns = new Shell(display);
ns.setLayout (new RowLayout());
final DateTime calendar = new DateTime (ns, SWT.CALENDAR);
ns.pack();
ns.open();
ns.forceActive();
ns.setEnabled(true);
while (!ns.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
的代碼,你可以在下面的圖像的外殼被描繪,但似乎未啓用看到。確實無法選擇任何日期,也不能關閉/調整它的大小。正如你所看到的三個botton(紅色,黃色和綠色)顯示爲灰色。 我在做什麼錯?
UPDATE
我試圖讓這樣的外殼:
Display display = new Display();
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
Shell shell = window.getShell();
但現在我得到這個
這實際上是相當遠從我的用心。我的目的是要表明一個新的窗口,日期時間控件
UPDATE
我跟吉爾伯特的意見和定義自己的JFace對話框。 正如Lars Vogel在http://www.vogella.com/articles/EclipseDialogs/article.html中所描述的那樣,我將它創建爲TitleAreaDialog的擴展。它現在有效,但仍有一些我需要改進。
我想隱藏標題的大標題和隱藏/刪除幫助按鈕。 有沒有辦法做到這一點?我是否會延誤錯誤的課程?
我認爲創建一個新的Shell對象是一個壞主意,有很多方法可以從Eclipse獲取它。 –
抱歉,我認爲我沒有收到您的評論。 AFAIK外殼對應一個新的窗口,這是我真正想要的。問題是我無法控制它。它與你的評論有什麼關係? – Sindico
請參考吉爾伯特勒布蘭科評論 –