1

我正在使用 SWT。我有父 Composite(level 1),它使用 FormLayout,它还包含 FormLayout 的另一个 Composite(level 2)。这个 Composite 有几个子级(级别 3),根据用户输入使其可见和不可见。

有问题的场景:

  1. 3 级复合材料不可见
  2. 调整 1 级复合材料的大小 -> 这也调整了 2 级复合材料的大小
  3. 用户输入更改 -> 3 级合成现在可见
  4. 问题 -> 2 级合成不调整大小,3 级合成并非全部可见

我必须调整 1 级复合材料的大小才能正确调整 2 级复合材料的大小,这对用户来说不是很友好。我尝试了很多事情但没有成功,因为它都是更大应用程序的一部分,我不能用其他东西替换 FormLayout。

有人对此有意见吗?是否有一些机制可以使 FormLayout 组合动态调整大小?

谢谢,扬

4

1 回答 1

0

像每一个大胆的问题一样,这个问题也很容易解决。当使第 3 级合成可见时,需要调用getParent().layout()以使第 2 级合成正确调整大小

于 2012-03-16T07:57:17.173 回答