이클립스 플러그인의 마법사 페이지에 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 마법사와의 통합 경험이 있습니까?
첫 번째 페이지와 같은 두 번째 페이지에 대한 코드를 사용하면 효과가 있습니다. –