3.9.6. Cached Fill Layout

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();

Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation