2011-08-11 33 views
0

我正在为我的eclipse rcp应用程序构建一个欢迎编辑器。我想让两个ScrolledComposites并排坐在一起,每个上面都有一个标签。2 ScrolledComposite并排。

 
Label 1    Label 2 

Scrollable 1  Scrollable 2 

现在我卡在如何框。

这似乎是正确的,但现在我无法得到布局和听众的权利。

  • 复合材料A
    • 复合A1
      • 标签1
      • 滚动S1
    • 复合A2
      • 标签2
      • 滚动S2

A1应该设置滚动S1的最小大小吧?但是谁设置了S1的大小以便填充多余的空间?我发现的例子并不正确。

顺便说一句,因为我无法获取单元格大小,所以将所有内容放在GridLayout中都不起作用。

+0

我编辑了答案。 –

回答

0

顺便说一句,因为我无法获取单元格大小,所以将所有内容放入GridLayout中都不起作用。

为什么你需要单元格大小?只需设置GridLayoutdataS1S2即可填充该单元格。这是最简单的使用GridLayoutFactory

import org.eclipse.jface.layout.GridLayoutFactory; 

... 
GridLayoutFactory.fillDefaults().applyTo(s1); 
GridLayoutFactory.fillDefaults().applyTo(s2); 
... 

UPDATE:见的例子在http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/custom/ScrolledComposite.html

假设的s1内容为Composite c1。然后你使用s1.setMinSize(c1.computeSize(SWT.DEFAULT, SWT.DEFAULT))。尺寸A1是无关紧要的。

+0

我会再试一次。但考虑一下,我的脑中仍然有一个结。我认为尺寸是滚动区域的实际大小,最小尺寸是容器的大小。 –

+0

啊好的。会尝试。 –

+0

在我第一次尝试时,我显然没有设置FILL_BOTH。 # - ) –