java - SWT 使复合完全填充父级

标签 java swt

我的 SWT GUI 有问题:
我有一个 TabFolder,其中包含一个 ScrolledComposite,它本身包含一个 Composite,而后者又包含一些 Composites 。问题是这些Composites 没有完全采用ScrolledCompositeComposite 的大小。

The problem
正如您所看到的,具有边框的内部 Composite 并未完全填充其父级。
父级使用 GridLayout 因此我已经尝试通过设置 GridData

来获取我想要的内容
Composite base = new Composite(parent, SWT.BORDER);
base.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

但是正如你所看到的,这是行不通的。

有人知道怎么做吗?
(在创建时,我不知道父级的最终大小,因此我不能只执行 base.setSize(parent.getSize()))

最佳答案

使用

GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
yourComposite.setLayout(layout);

去除您不想要的边距。

<小时/>

您可能需要将此应用于不止一位家长。

关于java - SWT 使复合完全填充父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36432200/

相关文章:

java - 如何从 RequestContextHolder 获取 MultipartHttpServletRequest?

java - Eclipse Juno 提示未安装 SWT,但可用软件面板提示已安装

java.lang.Process Kill 未完成

javascript - 将 PDF 发送到后端会破坏编码和字符

java - Camel 为存在且公开的方法抛出 MethodNotFound

java - 如何在 KeyListener Java 中每 100 毫秒更新 SWT 中的 Canvas

java - 解决在 SWT FXCanvas 中嵌入 JavaFX 时的 DPI 缩放问题

java - 将 abel 包裹在复合 Material 中

java - CAS 4.2.x 部署器ConfigContext.xml 连接到 LDAP

java - Eclipse IDE 崩溃,因为 Windows 上的 bash.exe 和 which.exe