EclipseプラグインのウィザードページにscrolledCompositeを追加したいと思います。私はscrolledCompositeを実装したFirstPageですべてうまく動作します。問題は、その後に表示されるSecondPageが空白であることです。 FIRSTPAGEためEclipse JFace WizardPageでSWT ScrolledCompositeを使用
初期化コード:
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);
}
SecondPageのCreateControlコードが標準ですが、私はまた、スクロールだろう親を、見つけるために、試してみました - 私はそれが「入れ子になった」ScrolledCompositeの問題だろうと思わ - そのように:
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));
しかし、このようなアプローチは動作しません。
ScrolledCompositesと複数ページのJFaceウィザードとの統合に関する経験はありますか?
最初のページと同じコードを2番目のページに使用すると効果があります。 –