У меня есть вид с композитом и прокруткой композит.Но при нажатии на вид в первый раз, он пуст.Если я закрою его и открою снова, поля будут видны.Пожалуйста, найдите фрагмент кода ниже.
public void createPartControl(Composite parent) {
parent.setLayout(new GridLayout(1,false));
parent.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true));
parent.setBackground(ApplicationColor.WHITEBACKGROUND);
ScrolledComposite scrollComposite = new ScrolledComposite(parent, SWT.V_SCROLL|
SWT.H_SCROLL | SWT.BORDER);
main_composite = new Composite(scrollComposite, SWT.NONE);
main_composite.setLayout(new GridLayout(1, false));
main_composite.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true));
main_composite.setBackground(ApplicationColor.WHITEBACKGROUND);
main_composite.setSize(1700, 700);
scrollComposite.setContent(main_composite);
scrollComposite.setExpandHorizontal(true);
scrollComposite.setExpandVertical(true);
scrollComposite.setBackground(ApplicationColor.WHITEBACKGROUND);
scrollComposite.setBackgroundMode(SWT.INHERIT_DEFAULT);
GridData firstData = new GridData(SWT.CENTER, SWT.TOP, true, true);
scrollComposite.setLayoutData(firstData);
scrollComposite.addListener(SWT.Activate, new Listener() {
public void handleEvent(Event e) {
scrollComposite.setFocus();
}
});
scrollComposite.addListener( SWT.Resize, event -> {
int height = main_composite.getClientArea().height;
int width = main_composite.getClientArea().width;
scrollComposite.setMinSize( parent.computeSize( width, height ) );
} );
top_composite = new Composite(main_composite, SWT.NONE);
top_composite.setLayout(new GridLayout(4, false));
top_composite.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, true));
top_composite.setBackground(ApplicationColor.WHITEBACKGROUND);
}