В коде библиотеки после создания страницы, проверка утверждение для управления имуществом происходит:Как создать WizardPage правильно (платформа Eclipse)
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
НАДО заполните control
чем-то.
В образце Vogella, он создал промежуточный Composite
контейнер и использует его: http://www.vogella.com/tutorials/EclipseWizards/article.html#wizards_example
Но, возможно, я просто использовать createContol
«s parent
аргумент?
UPDATE
Что делать, если Redefine WizardPage
класс и использовать его все время?
public abstract class WizardPageEx extends WizardPage {
public WizardPageEx(String pageName, String title, ImageDescriptor titleImage) {
super(pageName, title, titleImage);
}
public WizardPageEx(String pageName) {
super(pageName);
}
@Override
final public void createControl(Composite parent) {
Composite control = new Composite(parent, SWT.NONE);
createControlEx(control);
setControl(control);
}
abstract public void createControlEx(Composite control);
}
Каковы недостатки такого решения?
Что произойдет, если вы попробуете? – csmckelvey