1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

keine Bilder in .jar-Datei (java)

Discussion in 'Programmieren' started by Moucho5, Sep 29, 2011.

Thread Status:
Not open for further replies.
  1. Moucho5

    Moucho5 Byte

    Hallo zusammen,

    das Problem welches ich habe, ist zwar nicht das neuste, aber doch finde ich keine Lösung speziell zu meinem Problem.

    Ich habe ein Projekt (kleines Spiel) in Java mit Eclipse geschrieben.

    Das Spiel ist soweit fertig und (von Eclipse aus) funktioniert alles einwandfrei.

    Jetzt habe ich eine Jar-Datei erzeugt. Sie lässt sich auch starten, alles funktioniert, bis auf dass keine Bilder angezeigt werden.

    In sämtlichen Forum lese ich, dass ich getResource() zum zugreifen auf die Bilder verwenden muss, also dass es dann ungefähr so aussieht:

    Image image = Toolkit.getDefaultToolkit().getImage(
    getClass().getResource("/mygraphic/icon.gif"));
    Icon img_titel_bild = new ImageIcon(image);

    Das Problem, warum das nicht funktioniert ist, dass meine Bilder alle static sind, und die Methode getClass() halt eben nicht.

    Die Bilder sind alle bei mir static, damit ich über <Klassenname>.<Bildname> die Bilder bekomme (ohne get-set-methoden). und das ist gewollt, da ich die Klasse als "Konstanten-Klasse" verwenden möchte, da die Bilder in mehreren Klassen "abgefragt/ drauf zugegriffen" werden.

    und damit ich die Bilder nicht jedes Mal neu in den jeweiligen Klassen deklarieren muss, halt eben diese "Konstanten-Klasse". Zu dem kann man im Spiel den Skin wechseln, und das kann ich mit einer einzigen Methode in dieser "Konstanten-Klasse" erreichen.

    Gibt es denn eine Lösung die Bilder in der Jar-Datei anzuzeigen ohne dass ich auf das "static" verzichten muss?

    Vielen Dank im Voraus
     
  2. daboom

    daboom Megabyte

    Dieser Code-Schnipsel dort befindet sich auch in dieser Konstanten-Klasse?

    Also die Frage ist doch, ist es wirklich variabel, was getClass() dort zurückgeben wird?

    Beispiel:

    PHP:
    public class Foo {
      public void bar() {
        Class<?> clazz = this.getClass();
      }
    }
    Hier wird getClass() immer "Foo.class" zurückgeben, außer ich extende Foo nochmal, dann natürlich die spezielle Class.

    PHP:
    public class Foo {
      public void bar(Object o) {
        Class<?> clazz = o.getClass();
      }
    }
    Hier weiß man es grundsätzlich gar nich, denn es können ja alle möglichen Objects reinkommen, die dank Polymorphie ja sonstewatt sein können.

    Ich hoffe Du verstehst, worauf ich hinaus will. Mein Gedanke ist also das "getClass()" einfach durch ein "ConstantClass.class" (oder wie auch immer deine Konstanten-Klasse heißt) zu ersetzen.
     
Thread Status:
Not open for further replies.

Share This Page