设置JFace向导的大小

Oha*_*ian 8 java eclipse rcp jface wizard

我正在构建一个Eclipse RCP应用程序,并且在设置JFace向导的大小时遇到​​问题.

小智 10

是的,让Eclipse为您量身定做通常是一个好主意.但是,如果您确实要设置向导的大小,可以通过设置用于打开向导的WizardDialog的大小来完成.例如:

Wizard wizard = new MyCustomWizard();
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), wizard);
wizardDialog.setPageSize(WIDTH, HEIGHT);
// Could also use wizardDialog.setMinimumPageSize(WIDTH, HEIGHT) if that's more appropriate
Run Code Online (Sandbox Code Playgroud)


Oha*_*ian 9

事实证明,向导是您最大的WizardPage的大小.


nic*_*uti 5

要设置对话框的大小,它就是

wizardDialog.getShell().setSize(WIDTH, HEIGHT)
Run Code Online (Sandbox Code Playgroud)

要禁用该对话框可调整大小,请将SWT.RESIZE位保留在自己的WizardDialog实现中:

// original WizardDialog class
public WizardDialog(Shell parentShell, IWizard newWizard) {
    super(parentShell);
    setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE);
    setWizard(newWizard);
    ...
}

// Own implementation without SWT.RESIZE
public NoResizeWizardDialog(Shell parentShell, IWizard newWizard) {
    super(parentShell);
    setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL);
    setWizard(newWizard);
    ...
}
Run Code Online (Sandbox Code Playgroud)