作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个组合,想向其中添加一个表格。到目前为止一切顺利,但表格一开始没有输入,所以只有标题出现在复合 Material 上。但我希望表格具有默认(最小)高度(宽度应由复合 Material 的 GridLayout 管理)。复合体占用其父级的垂直和水平空间,因此应该有足够的空间用于表格。我这样添加表格:
//comp is my composite
TableViewer viewer = new TableViewer(comp);
viewer.getTable().setHeaderVisible(true);
//Add two TableViewerColumns
//300 should be the minimum / default height
viewer.computeSize(SWT.DEFAULT, 300);
复合 Material 中没有添加任何其他东西,复合 Material 似乎从其父级中获取了所有空白空间,但表格没有扩展到 300 的高度(宽度是正确的!)。
希望你能理解我的问题:)
最佳答案
computeSize 返回一个 Point,它表示表格的首选大小 - 这实际上并没有设置组件的大小,因为布局可以忽略首选大小
如果你想要一个绝对固定的表格高度,你可以通过设置表格的父级使用 GridLayout 布局,然后为表格配置一个 GridData 来实现:
comp.setLayout(new GridData());
gridData = new GridData();
gridData.heightHint = 300;
viewer.getTable().setLayoutData(gridData);
关于java - SWT:computeSize() 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991581/
我有一个组合,想向其中添加一个表格。到目前为止一切顺利,但表格一开始没有输入,所以只有标题出现在复合 Material 上。但我希望表格具有默认(最小)高度(宽度应由复合 Material 的 Gri
我是一名优秀的程序员,十分优秀!