gpt4 book ai didi

java - SWT:computeSize() 无效

转载 作者:行者123 更新时间:2023-11-29 03:48:02 27 4
gpt4 key购买 nike

我有一个组合,想向其中添加一个表格。到目前为止一切顺利,但表格一开始没有输入,所以只有标题出现在复合 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com