2011-08-11 35 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。 # - ) –