3.14.2. Image Handle

Ein Image Handle stellt das native (UI Framework abhängige) Image zur Verfügung. Des Weiteren kennt ein Image Handle seinen Image Descriptor wenn es mit Hilfe eines solchen erzeugt wurde. Die Schnittstelle IImageHandle hat die folgenden Methoden:

    Object getImage();

    boolean isInitialized();

    IImageDescriptor getImageDescriptor();

Die Methode getImage() liefert das native Image Objekt. Der Typ kann je nach SPI Implementierung variieren. Das Image wird lazy, also beim ersten Aufruf der Methode getImage() erzeugt. Durch das Registrieren eines Image Handle in der Image Registry mit Hilfe eines Image Descriptor wird daher noch keine Image Resource erzeugt. Die Methode getImage() liefert nie null zurück. Es könnte jedoch eine Exception geworfen werden, wenn das Image nicht erzeugt werden kann. Dies passiert folglich auch nicht beim Registrieren, sondern bei der ersten Verwendung. Durch die lazy Erzeugung von Resourcen kann man große Icon Bibliotheken mit vielen Icons einbinden, und benötigt zur Laufzeit nur den Speicher für die Icons, die man tatsächlich verwendet.

Will man wissen, ob das Image bereits erzeugt wurde, kann man dies mit Hilfe der Methode isInitialized() prüfen.

Image Handles, welche mit Hilfe eines Image Descriptor erstellt wurden, liefern diesen mit Hilfe der Methode getImageDescriptor() zurück. Die Betriebssystem Message Icons und Buffered Images werden zum Beispiel nicht mit Hilfe eines Image Descriptors erstellt, weshalb die Methode dort null zurückliefert.

Normalerweise benötigt man Image Handles nicht direkt. Sie werden indirekt von der SPI Implementierung bei der Image Registry angefragt.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation