2014-02-10 66 views
1

在Eclipse JFace的WizardDialog類中,運行方法setShellStyle方法正在被調用。我想刪除默認的SWT.RESIZE和SWT.MAX標誌設置。如何刪除?如何編輯WizardDialog類。如何從JFace中的WizardDialog類的setShellStyle方法中刪除SWT.MAX

+1

這是您正在創建的'WizardDialog'還是您詢問Eclipse正在創建的現有嚮導? –

+0

我在詢問現有的一個 –

+0

任何特定的現有嚮導?對於少數嚮導來說可能是有可能的(我在Eclipse中看到的> 125精靈之外)。 –

回答

1

WizardDialog在其構造函數調用setShellStyle所以如果你正在創建的對話框,你可以通過在子類中再次調用setShellStyle覆蓋設置:

public class WizardDialogEx extends WizardDialog 
{ 
    public WizardDialogEx(final Shell parentShell, final IWizard wizard) 
    { 
    super(parentShell, wizard); 

    setShellStyle(style); 
    } 
} 


WizardDialog dialog = new WizardDialogEx(shell, wizard); 

dialog.open(); 

通過WizardDialog使用的默認風格標誌:

SWT.CLOSE | SWT.MAX | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE 

加上當前的方向風格。

我不認爲有可能改變Eclipse在內部創建的嚮導對話框的樣式。

更新: 在某些平臺上,這些樣式標誌僅作爲提示,窗口管理器可能會覆蓋它們。

+0

嗨,但即時通訊從窗口setshellstyle方法是看不見的錯誤 –

+0

嗨,對不起應該使用了一個子類,代碼修改 –

相關問題