有時,您可能需要撰寫自己的自訂 Layout 類別。這最適合您在應用程式的許多不同位置中有使用複雜佈置時。當您使用應用程式 特定知識最佳化佈置時,可能也適合。建置自訂佈置之前,注意事項如下:
除非您撰寫供許多 Composite Widget 使用的極普通佈置,否則在調整大小接聽器中計算大小和位置子項通常更簡單容易。許多 SWT 自訂 Widget 都是用這個方法撰寫的。 雖然新 Widget 可實作為 Composite/Layout 配對, 但將它實作為 Composite 還是比較容易懂,因為是在調整大小接聽器中製作它的佈置,以及在 computeSize(...) 中計算它的偏好大小,而且不需要撰寫額外類別。
如果您還是覺得需要自訂佈置類別,建議您不妨先在調整大小接聽器中實作佈置演算法。 這可以使演算法本身的除錯更簡單。請務必測試佈置的各種情況:調小一點、調大一點、包裝和剪輯。 一旦演算法在使用中,便可重構程式碼成為 Layout 的子類別。
佈置負責實作兩個方法:
您可以在瞭解 SWT 中的佈置中找到自訂佈置的進一步說明。