Das Cached Fill Layout wurde entworfen, um das Layouten
komplexer Controls zu optimieren. Immer wenn sich zum Beispiel
die Größe eines Fensters oder eines Bereichs innerhalb eines
Split Composites ändert, wird auf einem Layouter die
invalidate()
Methode aufgerufen. Wenn man
keine Kenntnis über die darunter liegenden Controls hat, ist
dieses Vorgehen auch sinnvoll, denn durch das Ändern der Größe
könnte sich auch das Layout ändern. Allerdings ist dieses
Vorgehen auch teuer und unter Umständen
werden dabei die immer gleichen PreferredSize
Werte berechnet.
Es gibt Situationen, in denen man weiß, dass das Ändern der
Größe keinen Einfluss auf die PreferredSize
der Kind Controls hat. In diesem Fall kann man ein Cached Fill
Layout verwenden. Dies berechnet die MinSize
,
PreferredSize
und MaxSize
bei einem invalidate()
nicht neu. Ansonsten
ist es mit dem Fill Layout zu
vergleichen, da auch hier die gesamte
ClientArea
ausgenutzt wird.
Die Accessor Klasse
org.jowidgets.api.layout.CachedFillLayout
liefert einen Zugriff auf ein Cached Fill Layout. Sie hat
folgende Methode:
public static ILayoutFactory<ICachedFillLayout> get(){...}
Um den Cache explizit zu löschen, kann auf dem
ICachedFillLayout
die folgende Methode
verwendet werden:
void clearCache();