java - 只有在 Eclipse RCP 中打开视图两次后,SWT 组合才可见
问题描述
我有一个复合和滚动复合的视图。但是在第一次点击视图时,它是空的。如果我关闭它并再次打开,这些字段是可见的。请在下面找到代码片段。
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);
}
解决方案
推荐阅读
- delphi - 混合原子操作和非原子操作
- sql - 在 postgresql 中对日期列进行一些操作
- javascript - 无法在 ReactJS 后端项目上将项目添加到 SQL 数据库
- web-services - Web 服务请求中的 while 语句
- ajax - Axios 获取请求响应时间过长
- mongodb - 我正在尝试查找哪些字段为空,以便我可以从具有空的数据库中返回数据(非标量字段)
- android - 如何解决此问题“在 app gradle 中 minifyEnabled 为 true 时未生成签名的 apk”
- marklogic - 如何在 javascript 函数中使用参数?
- angular - 如何从清晰度数据网格中获取过滤结果?
- ionic-framework - Ionic Webview 更新导致存储丢失