通常最佳方式是在調整大小事件接聽器內,處理簡單小組件定位。不過,應用程式在放置小組件時使用一些共用型樣。這些型樣可建構為 可配置的佈置演算法,供許多不同的應用程式重複使用。
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 | 將子項放置於水平列或垂直欄。 |