佈置

通常最佳方式是在調整大小事件接聽器內,處理簡單小組件定位。不過,應用程式在放置小組件時使用一些共用型樣。這些型樣可建構為 可配置的佈置演算法,供許多不同的應用程式重複使用。

SWT 定義 layout,它提供在組合中定位及調整子項小組件大小的一般用途 。Layouts 為 abstract 類別 Layout 的子類別。 您可以在 org.eclipse.swt.layout 套件中找到 SWT 標準佈置。

定位及重新調整小組件大小時,會使用某些一般定義:

無論是否使用佈置,這些概念都與應用程式有關。您可以將佈置視為封裝調整大小功 能來重複使用的好方法。

部分其他概念是由佈置引進:

如果需要示範這些概念的圖示和進一步說明,請參閱瞭解 SWT 中的佈置

下列程式碼片段顯示使用調整大小回復將標籤大小調整成其母項 Shell 大小的應用 程式簡單案例:

Display display = new Display ();Shell shell = new Shell (display);Label label = new Label (shell, SWT.CENTER);shell.addControlListener(new ControlAdapter() {      public void controlResized(ControlEvent e) {
      label.setBounds (shell.getClientArea ());
      }
   });

下一個片段使用佈置來達到相同的效果:

Display display = new Display ();Shell shell = new Shell (display);Label label = new Label (shell, SWT.CENTER);shell.setLayout(new FillLayout());

這個簡單範例就是使用佈置來減少應用程式碼。佈置越複雜,簡化效果就越大。

下表彙總 SWT 所提供的標準佈置。

佈置
目的
FillLayout 在單一列或直欄中佈置控制項,迫使它們的大小全都相同。
FormLayout 使用 FormAttachments 來定位子項,選擇性地配置每個子項的上、下、左、右邊緣。
GridLayout 用列和欄來定位子項。
RowLayout 將子項放置於水平列或垂直欄。