3.14.1. Image Konstanten

Images werden in jowidgets mit Hilfe einer Image Konstante auf einem Widget gesetzt. Die Schnittstelle IImageConstant ist die Basisschnittstelle für alle Image Konstanten. Sie hat selbst keine Methoden. [20]

Eine Image Konstante muss über die Image Registry verfügbar sein, um verwendet werden zu können. Dies ist der Fall, wenn:

Beispiel für die Verwendung von Enum Konstanten

Die folgenden Beispiele demonstriert die Verwendung vom Image Konstanten, welche durch Enums definiert sind:

    label.setIcon(IconsSmall.OK);
    
    button.setIcon(SilkIcons.HELP);
    
    tabItem.setIcon(SilkIcons.APPLICATION);
    
    actionBuilder.setIcon(IconsSmall.DISK);

Ein expliziter Zugriff auf die Image Registry ist bei der Verwendung nicht notwendig. Die Adapter Klassen der jeweiligen SPI Implementierung verwenden die Konstante, um aus der Image Registry das registrierte Image Handle zu erhalten.

Image Konstanten und die ICacheable Schnittstelle

Wenn eine Image Konstante die Schnittstelle ICacheable implementiert, wird diese aus der Image Registry entfernt und das zugehörige Image Handle disposed, sobald auf dem ICacheable die Methode:

    void release();

aufgerufen wird. Das sollte jedoch nur dann gemacht werden, wenn man sich sicher ist, dass die Konstante aktuell nicht verwendet wird. Das Disposen von nativen Images, welche in Verwendung sind, kann andernfalls zu Fehlern führen.



[20] Die Schnittstelle sollte treffender IImageKey heißen. Aufrund der zahlreichen Verwendung von Images in abgeleiteten Projekten wurde bisher jedoch von einem Refactoring abgesehen.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation