Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确创建向导页面(Eclipse平台)_Java_Eclipse_Eclipse Plugin_Eclipse Rcp - Fatal编程技术网

Java 如何正确创建向导页面(Eclipse平台)

Java 如何正确创建向导页面(Eclipse平台),java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,在创建页面后的库代码中,发生控件属性的断言检查: public void createPageControls(Composite pageContainer) { // the default behavior is to create all the pages controls for (int i = 0; i < pages.size(); i++) { IWizardPage page = (IWizardPage) pa

在创建页面后的库代码中,发生控件属性的断言检查:

public void createPageControls(Composite pageContainer) {
        // the default behavior is to create all the pages controls
        for (int i = 0; i < pages.size(); i++) {
            IWizardPage page = (IWizardPage) pages.get(i);
            page.createControl(pageContainer);
            // page is responsible for ensuring the created control is
            // accessable
            // via getControl.
            Assert.isNotNull(page.getControl());
        }
    }

这种决定的缺点是什么?

WizardPage.createControl
中,您必须创建某种类型的
控件
——通常是一个
组合
,并且您必须调用
WizardPage.setControl(Control)
来告诉
WizardPage
哪一个是顶级控件。所以通常是这样的:

@Override
public void createControl(final Composite parent)
{
  final Composite composite = new Composite(parent, SWT.NULL);

  ...

  setControl(composite);
}

如果你尝试一下会发生什么?
@Override
public void createControl(final Composite parent)
{
  final Composite composite = new Composite(parent, SWT.NULL);

  ...

  setControl(composite);
}