Ich möchte ScrolledComposite hinzufügen, um Assistentenseite im Eclipse-Plug-in. Alles funktioniert gut auf der FirstPage, wo ich scrolledComposite implementiert habe. Das Problem ist, dass die SecondPage, die danach angezeigt wird, leer ist.Verwendung von SWT ScrolledComposite mit Eclipse JFace WizardPage
Initialisierungscode für First:
public void createControl(Composite parent) {
ScrolledComposite scroll = new ScrolledComposite(parent, SWT.NULL | SWT.V_SCROLL);
scroll.setLayoutData(new GridData(GridData.FILL_VERTICAL));
scroll.setAlwaysShowScrollBars(false);
scroll.setExpandVertical(true);
scroll.setExpandHorizontal(true);
scroll.setMinHeight(500);
scroll.setLayout(new GridLayout(1, false));
Composite container = new Composite(scroll, SWT.NULL);
GridLayout layout = new GridLayout();
container.setLayout(layout);
scroll.setContent(container);
setControl(container);
setPageComplete(false);
}
NochNeSeite create Code ist Standard, aber ich habe auch versucht, ein Elternteil zu finden, die eine Schriftrolle wäre - ich eigentlich wäre es Ausgabe von „verschachtelten“ ScrolledComposite sein - so:
ScrolledComposite scroll = null;
if(parent.getChildren() != null && parent.getChildren().length > 1 && parent.getChildren()[1] instanceof ScrolledComposite) {
scroll = (ScrolledComposite)parent.getChildren()[1];
}
scroll.setLayoutData(new GridData(GridData.FILL_VERTICAL));
Composite container = new Composite(scroll, SWT.NULL);
scroll.setContent(container);
scroll.setAlwaysShowScrollBars(false);
scroll.setExpandVertical(true);
scroll.setExpandHorizontal(true);
scroll.setMinHeight(500);
scroll.setLayout(new GridLayout(1, false));
GridLayout layout = new GridLayout();
container.setLayout(layout);
container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
aber ein solcher Ansatz funktioniert nicht.
Hat jemand Erfahrung mit der Integration von ScrolledComposites und mehrseitigen JFace-Assistenten?
Verwenden Sie den gleichen Code für die zweite Seite, wie die erste Seite funktionieren sollte. –