Questions & Answers

baginski
I'm new here

Eigene Javaclient-Eingabekomponente - Integration von Icons

Hi,

Ich habe ein Problem mit einem Modul mit eigener Eingabekomponente, genauer mit dem Laden von eingebetteten Icons.

In der Version 4.1 arbeitete es noch korrekt, unter 4.2 leider nicht mehr (die Grafiken werden offenbar nicht mehr gefunden) - ich vermute

ein ClassLoader-Problem ?

Wir haben die Grafiken in der FSM-Datei in einem eigenen Folder (ico) abgelegt und ihn als Resource in der module.xml eingelegt.

Auf das Icon wird dann per

InputStream is = ModuleResources.class.getResourceAsStream("/ico/maximize.png");

zugegriffen; in 4.1 kommt noch etwas sinnvolles zurรผck, in 4.2 (genauer 4.2.432) leider nur null..

Jemand eine Idee, was ich stattdessen machen muรŸ, um mein Inputstream zu bekommen

Danke fรผr eine Info & GrรผรŸe,

Michael Baginski

0 Kudos
3 Replies
s_ellers
Crownpeak employee

Hi,

der Modul-ClassLoader beinhaltet von den Resourcen nur die dort angegebenen Jars, nicht jedoch die anderen Resourcen. Die einfachste Mรถglichkeit die Icons im ClassLoader verfรผgbar zu machen wรคre diese in das Jar der Editor-Klasse zu integrieren.

GrรผรŸe,

Stephan

0 Kudos

Klingt plausibel - ich teste das mal aus Smiley Happy


Danke & GruรŸ,

Michael

0 Kudos

Hi nochmal,

eventuell scheint es hier tatsรคchlich noch ein Problem mit dem ClassLoader zu geben.

In einigen unserer Beispiel wird genau das Pattern wie in diesem Fall verwendet. Resource-Definition mit separaten Dateien, sowie das Laden รผber den lokalen ClassLoader.

Nach einem kurzen Blick in den Code werden wohl alle nicht-Jar Resourcen zu einem Resource-Jar zusammengepackt und im Anschluss ebenfalls dem Modul-ClassLoader hinzugefรผgt, so die Theorie.

Wie sieht denn die Konfiguration in diesem Fall aus?

<module>

    <!-- ... -->

    <components>

        <public>

            <name>Editor</name>

            <class>de.espirit.firstspirit.module.GadgetSpecification</class>
            <configuration>
                <gom><!-- GomClass --></gom>
                <factory><!-- SwingGadget Factory --></factory>
                <value><!-- ValueEngineerFactory --></value>
                <scope unrestricted="yes" />
            </configuration>
            <resources>
                <resource>ico/</resource>
                <resource>lib/editor.jar</resource>
            </resources>
        </public>

    </components>

</module>

GrรผรŸe,

Stephan

0 Kudos

Type a product name