Angepasste Layouts

Es kann unter Umständen vorkommen, dass Sie eine eigene angepasste Klasse Layout schreiben müssen. Dies ist beispielsweise in Fällen die beste Lösung, in denen ein komplexes Layout an vielen unterschiedlichen Stellen einer Anwendung verwendet werden muss. Es kann außerdem geeignet sein, wenn Sie Layout durch anwendungsspezifische Kenntnisse anpassen können. Bevor Sie ein angepasstes Layout erstellen, sollten Sie sich über die folgenden Punkte Gedanken machen:

Sofern Sie kein extrem generisches Layout schreiben wollen, das durch unterschiedliche Widgets von Composite verwendet wird, ist es häufig einfacher, Größen zu berechnen und untergeordnete Elemente in einer Listener-Funktion für Größenänderungen zu platzieren. Viele der angepassten SWT-Widgets wurden auf diese Weise geschrieben. Obwohl ein neues Widget als Paar aus Composite/Layout implementiert werden kann, ist es einfacher, das Widget als Composite zu implementieren, dessen Layout über eine Listener-Funktion für Größenänderungen festlegt und dessen bevorzugte Größe in einem Objekt computeSize(...) berechnet wird. Außerdem ist es bei dieser Vorgehensweise nicht nötig, eine zusätzliche Klasse zu schreiben.

Wenn Sie noch immer der Meinung sind, dass Sie eine angepasste Layoutklasse benötigen, beginnen Sie am besten damit, den Layoutalgorithmus in einer Listener-Funktion für Größenänderung zu implementieren. Dies macht das Debug für den Algorithmus selbst einfacher. Achten Sie darauf, die unterschiedlichen Fälle für das Layout zu testen, also Vergrößerung, Verkleinerung, Umbruch und Abschneiden. Sobald der Algorithmus funktioniert, kann der Code in einer Unterklasse von Layout umgestaltet werden. 

Layouts müssen zwei Methoden implementieren:

Detailliertere Erläuterungen zu angepassten Layouts finden Sie unter Understanding layouts in SWT.

Copyright IBM Corporation und Andere 2000, 2003.