場合によっては、独自のカスタム Layout クラスを 記述する必要があります。 カスタム・レイアウトは、アプリケーションのさまざまな状況で使用される 複雑なレイアウトを持つ場合に最適です。 複数の Composite ウィジェットで使用される きわめて汎用的なレイアウトを作成する場合を除き、サイズ変更リスナーの子のサイズを計算して配置する方が、多くの場合、より単純で簡単です。
レイアウトには、次の 2 つのメソッドを実装する役割があります。
3 番目のメソッド flushCache(...) をオプションで実装して、特定のコントロールに関連付けられたキャッシュ・データをクリアすることもできます。 通常、ウィジェットの computeSize() メソッドはコストが高いため、レイアウトは結果をキャッシュして、パフォーマンスを向上させることができます。
カスタム・レイアウトの詳細については、 『SWT のレイアウトの概要』を参照してください。