JFace组件Wizard小用(三)

    技术2022-05-19  26

    JFace组件wizard在使用中的确方便,每个页面在wizardpage编辑,然后错误信息或者提示信息在title处显示,通过public boolean canFlipToNextPage()和public IWizardPage getNextPage()来控制wizard的流程,还算比较好用,但是在使用过程中发现在wizardpage区域下部总是会有相当大的一块区域出于空白,切向上减少高度那块区域仍让存在,会挤压正常的page区域,特别在整页仅系那是一个控件的时候,后来通过各种设置都不能改变,原来在Eclipse中也存在相应的情况,这种现象的主要原因就是在wizard模板中存在有一个ProgressIndicator控件占据了该块区域,即使不显示,这块区域也会被占用,后来通过继承wizarddialog类,发现该问题依然存在,只能重写整个类,其他代码一样,仅仅在

    protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); // Build the Page container pageContainer = createPageContainer(composite); GridData gd = new GridData(GridData.FILL_BOTH); gd.widthHint = pageWidth; gd.heightHint = pageHeight; pageContainer.setLayoutData(gd); pageContainer.setFont(parent.getFont()); // Insert a progress monitor //progressMonitorPart= createProgressMonitorPart(composite, new GridLayout()); //GridData gridData = new GridData(GridData.FILL_HORIZONTAL); //progressMonitorPart.setLayoutData(gridData); //progressMonitorPart.setVisible(false); // Build the separator line Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR); separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); //applyDialogFont(progressMonitorPart); return composite; }  中,将有关progressMonitorPart的代码注释,即不初始化进度条控件,问题得到解决。之前问题如下图所示:


    最新回复(0)