佈置

我們已經看過一些簡單範例,顯示如何依據母項大小來定位或調整子項 Widget 大小。 到目前為止,已發生這種計算來回應調整大小接聽器。通常這是處理簡單 Widget 定位 的最佳方式。不過,應用程式在放置 Widget 時使用一些共用型樣。這些型樣可建構為 可配置的佈置演算法,供許多不同的應用程式重複使用。

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

當定位及重新調整 Widget 大小時,您應該瞭解某些一般定義:

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

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

有關示範這些概念的圖片和進一步討論,請參閱瞭解 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 提供四個適用於許多狀況的預設佈置類別。

Copyright IBM Corporation and others 2000, 2003.