2011-12-12 41 views
0

我正在使用JFace 嚮導作爲其唯一GUI的應用程序,我對我是否在正確的軌道上有點不確定。僅創建嚮導JFace應用程序

基本上,我開始喜歡這個GUI:

Display.getDefault(); // Creates a Dialog (program crashes with a NullPointerException if this is skipped) 
Wizard wizard = new SnapWizard(); 
WizardDialog dialog = new WizardDialog(null, wizard); // No Shell needed? 
dialog.create(); 
dialog.open(); 

這似乎讓一切運行,但它是這樣做的「正確」的方式?我不需要SWT 殼牌

我隱約記得使用循環渲染時,我早些時候使用SWT,這是由Jface自動處理?

回答

2

如果未提供,將創建A Shell。事件循環在dialog.open();中運行。

您可以檢出JFace Wizard snippet

+3

該警告發生在'Shell'的Javadoc中,但他正在創建'WizardDialog'。如果你升級它的層次結構,你最終會在'TrayDialog'中顯式地允許作爲父shell的'null':'父shell,或者null來創建一個頂級shell'。 – p12t

+0

那麼我的方式沒有什麼不對嗎? –

+0

@ p12t你是對的,我誤讀了筆記,其實是關於傳遞null作爲父顯示(不是shell)。 –