SourceCode + Bilder in EIN Jar File packen

Diskutiere SourceCode + Bilder in EIN Jar File packen im Deployment Forum; Zuerst einmal die Frage ist es möglich Bilder zu einem Jar Archiv hinzuzufügen? Mit Bildern meine ich 5 Icons (für JButtons) + eine Image (für...

  1. babuschka
    babuschka Neues Mitglied
    Zuerst einmal die Frage ist es möglich Bilder zu einem Jar Archiv hinzuzufügen?
    Mit Bildern meine ich 5 Icons (für JButtons) + eine Image (für JPanel).
    Ich verwende JBuilder 2005. Ich habe ein JAR Archiv mittels Datei-Neu-Archiv-Source erstellt.
    Dieses funktioniert soweit auch, allerdings nur dann, wenn die Images im richtigen Pfad sind.
    bsp. ich habe die jar datei in C:\MeinProgramm\ liegen, die Images dazu sind auf C:\MeinProgramm\Images.
    führe ich nun die jar datei in C:\MeinProgramm aus, so funktioniert alles einwandfrei. Führe ich die gleiche Datei in C:\ aus, so werden die Bilder nicht angezeigt (Funktion bleibt erhalten).
    Deshalb meine Frage, ist es möglich EINE ausführbare Datei (aus meinem SourceCode + Bilder) zu erstellen?
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. Wildcard
    Wildcard Neues Mitglied
    Ja, einfach die Bilder mit ins jar packen und über den Classloader laden. Class#getResourceAsStream
     
  4. babuschka
    babuschka Neues Mitglied
    und wie kann ich die bilder ins jar packen?
    im jbuilder gibt es die auswahl All classes and resources, damit müssten die bilder auch mit gepackt werden.

    wie verwende ich den Classloader?

    derzeit sieht mein source code so aus:
    Icon img = new ImageIcon("Images\\Button.png");
    button.setIcon(img);
     
  5. Wildcard
    Wildcard Neues Mitglied
    Wie das beim JBuilder im Detail funktioniert kann ich dir nicht sagen.
    Classloader, wie gesagt mit Class#getResourceAsStream.
     
  6. babuschka
    babuschka Neues Mitglied
    und wie sieht der java code genau aus?

    ich brauche immer ein beispiel um ihn anwenden zu können :lol:

    derzeit sieht mein source code so aus:
    Code (Java):
    Icon img = new ImageIcon("Images\\Button.png");
    button.setIcon(img);
     
  7. Wildcard
    Wildcard Neues Mitglied
    Code (Java):
    Icon img = new ImageIcon(this.getClass().getResource(path));
     
  8. U2nt
    U2nt Neues Mitglied
    Hab deine Lösung:
    Das Eclipse Plugin "FatJar"
    FatJar - Sourceforge

    Installation wird da beschrieben. Einfach die Bilder in deinem Workspace in den bin Folder reinpacken, aufs Project Rechtsklick "Build FatJar..." drücken... Wie beim exportieren.
    Jedoch wenn die ersten Einstellungen übernommen sind auf "Next" drücken, und dort kannste deine Bilder mit auswählen.

    Habs auch selber ausprobiert! :D

    Source:
    Code (Java):
    import java.awt.FlowLayout;

    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;


    public class Frame extends JFrame {
        private static final long serialVersionUID = 1L;
       
        private JButton button = null;
        private String path = "A.png";
        private Icon icon = new ImageIcon(this.getClass().getResource(path));
       
        public Frame() {
            super("Bild im Jar");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(100, 100);
            setLocationRelativeTo(null);
            setResizable(false);
            setLayout(new FlowLayout());
           
            button = new JButton();
            button.setIcon(icon);
           
            add(button);
            setVisible(true);
        }
       
        public static void main(String[] args) {
            new Frame();
        }
    }
    Und die Jar ist im Anhang :) Hoffe das ist das, was du suchst!
     
  9. babuschka
    babuschka Neues Mitglied
    vielen dank für deine antwort.

    hab das gleich einmal probiert (nur den source code geändert).
    da bekomm ich folgenden fehler:
    Code (Text):
    java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
        at MyConverter.Window.Initialize(Window.java:272)
        at MyConverter.Window.<init>(Window.java:54)
        at MyConverter.MyConverter.<init>(MyConverter.java:20)
        at MyConverter.MyConverter.main(MyConverter.java:29)
    Exception in thread "main"
    das gleiche, wenn ich dein programm ausführe.


    ich besorg mir schnell eclipse und hoffe, dass es dort funktioniert.
     
    Zuletzt von einem Moderator bearbeitet: 10. Jan. 2010
  10. U2nt
    U2nt Neues Mitglied
    Müsste eigentlich funktionieren, wäre nett wenn du deinen geänderten Sourcecode mal posten würdest (falls es dann immernochnicht geht...)
     
  11. Wildcard
    Wildcard Neues Mitglied
    1. Man legt niemals Resourcen in bin ab, immer in einem source folder
    2. FatJar kann nichts was Eclipse nicht von Haus aus kann, ist also obsolete
     
Die Seite wird geladen...

SourceCode + Bilder in EIN Jar File packen - Ähnliche Themen

Aktuellen Sourcecode aus Browser laden
Aktuellen Sourcecode aus Browser laden im Forum Allgemeine Java-Themen
OpenDolphin SourceCode
OpenDolphin SourceCode im Forum AWT, Swing, JavaFX & SWT
Android-Lib: Sourcecode Generator mittels Annotation Processing
Android-Lib: Sourcecode Generator mittels Annotation Processing im Forum Java Basics - Anfänger-Themen
Jaspersoft Sourcecode?
Jaspersoft Sourcecode? im Forum Softwareentwicklung
Magie in Java SourceCode
Magie in Java SourceCode im Forum Java Basics - Anfänger-Themen
Thema: SourceCode + Bilder in EIN Jar File packen