Eclipse: Projekt mit src ordner exportieren.

VPChief

VPChief

Bekanntes Mitglied
Hallo,
ich habe in Eclipse ein Programm mit Bildern erstellt. Die Bilder habe ich so angeordnet:
1593199638074.png

Zum Einfügen der Bilder benutze ich diesen Code:
Java:
button5.setIcon(new ImageIcon("src\\textures\\untergrund tex\\tex2.png"));
Wenn ich das Projekt als Runabble Jar File exportiere, sind die Bilder weg.
Kann mir jemand sagen wie ich das verzeichniss mit Exportieren kann.

Vielen Dank schonmal für eure Antworten
 
kneitzel

kneitzel

Top Contributor
Ressourcen lädt man in der Regel über den Classloader. Ein gängiger Weg ist etwas wie:
getClass().getResourceAsStream("/textures/......") so dass Du den passenden Stream direkt an den Konstruktor von ImageIcon gibst.

Dabei ist wichtig, dass die Dateien natürlich mit im jar File landen und zwar ohne das src.
 
VPChief

VPChief

Bekanntes Mitglied
Danke erstmal für die Antwort
Ressourcen lädt man in der Regel über den Classloader. Ein gängiger Weg ist etwas wie:
getClass().getResourceAsStream("/textures/......")

Das habe ich versucht, aber da kommen da immer Fehlermeldungen.
Daher war ich froh die andere Methode zu finden.
Geht das denn auch mit dieser Methode, die Dateien direkt in die jar zu bekommen, und wie geht das überhaupt?
 
kneitzel

kneitzel

Top Contributor
Also ich habe keine Ahnung, wie Eclipse hier Projekte im eigenen Format handhabt. Üblich bei Gradle ist, dass Du einen Ordner src/main/java hast für Java Dateien und src/main/resources für die Resourcen.


Ich habe mal etwas geschaut und z.B. https://stackoverflow.com/questions...llow these steps:,by inspecting it using 7zip. gefunden.

Wobei es erst einmal so klingt, dass er Ressourcen aus dem src Ordner immer nehmen würde, daher sollte textures/underground tex/tex2.png enthalten sein. Da könnte ich mir nur vorstellen, dass das Leerzeichen ein Problem machen könnte.
 
VPChief

VPChief

Bekanntes Mitglied
Also, ich habe auch dateien, die ohne leerzeichen sind, die Funktionieren auch nicht. Und wie bekomme ich das in die Jar?
1593253028306.png

Soll ich dann diese Option auswählen, oder?
 
Zuletzt bearbeitet:
VPChief

VPChief

Bekanntes Mitglied
Dumm von mir. hätt ich einfach testen können, hab ich dann auch, hat auf jeden fall nicht geklappt. Aber wenn ich jetzt so andere Programme ansehe, haben die ihre Bilder und Dateien immer in Extra Ordnern neben der exe datei. Ist das in Eclipse nicht möglich, das so zu machen?
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
Also natürlich kannst Du Dateien auch neben dem jar file haben. Dann kannst Du halt mit dem Pfad zu der jar Datei (https://stackoverflow.com/questions/320542/how-to-get-the-path-of-a-running-jar-file) darauf zugreifen. Aber bei Ressourcen ist es bei Java üblich, Ressourcen im jar vor zu halten. Das läuft beim Bau-Prozess auch automatisch.

Und das, was Du in #5 ansprichst, ist ein ganz anderes Thema. Da geht es um den Umgang mit Abhängigkeiten. Das ist etwas anderes als die Ressource Dateien deines Programmes.

Hast Du denn das jar File einmal angesehen? Sind die Bilder da mit eingepackt worden?
 
kneitzel

kneitzel

Top Contributor
Du kannst ein jar z.B. mit 7zip ansehen. Dann kannst du nachvollziehen, was wo im Jar gelandet ist.
 
VPChief

VPChief

Bekanntes Mitglied
Tatsächlich, die Bilder sind drin, müsste doch dann eigentlich funktionieren, oder?
1593264228174.png

So siehts da drin aus^^
1593264292150.png

So siehts im Programm aus. Auf den leeren buttons sollten eigentlich Bilder sein.
 
kneitzel

kneitzel

Top Contributor
Also die Bilder sind drin? Wie versuchst Du diese zu laden? Den Ansatz, wie es gehen sollte, habe ich ja aufgezeigt.
 
VPChief

VPChief

Bekanntes Mitglied
getClass().getResourceAsStream("/textures/......")

Du meinst das?
Java:
JButton start = new JButton ();
start.getClass().getResourceAsStream("textures\\Button_Start.png");
Das mache ich so, aber dann bleibt der Button leer.
 
kneitzel

kneitzel

Top Contributor
Und wegen dem Leerzeichen im Namen: Das habe ich jetzt auch einmal ausgetestet und das geht ganz ohne Probleme.

Nur was mich wundert: Auf dem Bildschirm sehe ich unter textures kein untergrund tex - das sollte eclipse dann doch eigentlich auch anzeigen ...

Aber wenn es so im jar drin ist, dann muss es ja stimmen ...

getClass().getResourceAsStream("/textures/......")

Du meinst das?
Java:
JButton start = new JButton ();
start.getClass().getResourceAsStream("textures\\Button_Start.png");
Das mache ich so, aber dann bleibt der Button leer.

a) kein Backslash - nutz in Java immer den Forward-Slash.
b) Du startest nicht mit einem Slash. Dadurch fängt er im Package der Klasse an zu suchen, d.h. er will im jar ein program/textures/....

Bei so Methoden, die Du nicht kennst, würde ich generell immer empfehlen, auch einmal die Dokumentation zu lesen. Da steht sowas dann auch immer mit drin.
 
kneitzel

kneitzel

Top Contributor
Die Bilder, so sie fest zum Programm gehören, mit ins jar File packen und da dann mittels der getResourceAsString Methode laden.
 
VPChief

VPChief

Bekanntes Mitglied
Ok. Und wie würdest du die Methode im Code benutzen? Das kann ich nicht.
getClass().getResourceAsStream("/textures/Button_Start.png");
So?
 
kneitzel

kneitzel

Top Contributor
Also was ich in der Regel mache:
Ich nutze getResourceAsStream in Zusammenhang mit ImageIO zum Laden eines Bildes.
Das sieht man dann als erste Antwort in https://stackoverflow.com/questions/22733881/java-swing-unable-to-load-image-using-getresource

Die zweite Antwort zeigt, wie es ohne Image geht, da wird dann statt getResourceAsStream getResource benutzt, was eine URL liefert. Ich weiß nicht mehr genau, unter welchen Bedingungen mir das aber mal Probleme gemacht hat in der Vergangenheit, aber das war wohl etwas, mit Experimenten bezüglich packen der jar in eine exe incl. Schutz oder so ... also ggf. Vernachlässigbar
 
mihe7

mihe7

Top Contributor
So siehts da drin aus^^
Auf dem Bild sieht man aber nur den Ordner textures, nicht ob in dem Ordner die Bilder auch wirklich vorhanden sind.

Das mache ich so, aber dann bleibt der Button leer.
Dein Code
Java:
JButton start = new JButton ();
start.getClass().getResourceAsStream("textures\\Button_Start.png");
gibt auch wenig Sinn. Mal abgesehen davon, dass hier der Schrägstrich zu verwenden ist, wie @JustNobody ja bereits angemerkt hat, lässt Du Dir zwar einen Stream liefern, machst damit aber nichts.

Java:
// Stream holen, und das "darin enthaltete" Bild einlesen
Image image = ImageIO.read(getClass().getResourceAsStream("textures/Button_Start.png"));
// Bild als Icon des Buttons start setzen
start.setIcon(new ImageIcon(image));
 
VPChief

VPChief

Bekanntes Mitglied
Danke,
Java:
// Stream holen, und das "darin enthaltete" Bild einlesen
Image image = ImageIO.read(getClass().getResourceAsStream("textures/Button_Start.png"));
// Bild als Icon des Buttons start setzen
start.setIcon(new ImageIcon(image));
Das wollte ich wissen, wie ich das Verwende. Werde es mal Testen, aber so eine Methode hat mir vor 2 Monaten oderso schon probleme gemacht
 
VPChief

VPChief

Bekanntes Mitglied
Genau diese Fehlermeldung kommt dann bei mir immer, und kam damals schon immer:

Cannot make a static reference to the non-static method getClass() from the type Object.

Steht hier:
1593342151020.png

Ich weiss echt nicht warum.
 
kneitzel

kneitzel

Top Contributor
Bist Du in einer statischen Methode? Wie baust Du derzeit deinen Code auf? Die Erstellung von so Controls ist doch etwas, das in der Regel im Konstruktor abläuft oder in einer non static Methode, die dann ein neues Fenster erstellt.

Aber unabhängig von dieser generellen Frage: Alles, was Du brauchst, ist ja eine Klasse. Diese bekommst Du z.B. über this.getClass() (oder eben gekürzt als getClass()) was aber natürlich nur in non static Methoden geht, da es sonst ja keine Instanz gibt.
Oder eben über MeineKlasse.class, wobei Du MeineKlasse halt ersetzen musst.

Und ganz nebenbei: In dem Link, den ich gebracht habe, ist ein komplettes Beispiel drin. Bei Antwort 1 mit dem GetResourceAsStream ist das sogar als minimales Beispiel in der static main Methode und daher ist da genau dieses KlassenName.class zu sehen:
Code:
public static void main(String[] arguments) throws IOException {

    JFrame frame1 = new JFrame();
    frame1.setTitle("Frame1");
    frame1.setSize(500, 500);
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    FlowLayout flo = new FlowLayout();
    frame1.setLayout(flo);

    InputStream resourceAsStream = IconTest.class.getResourceAsStream("strawberry.jpg");
    Image image = ImageIO.read(resourceAsStream);

    JLabel label1 = new JLabel(new ImageIcon(image));
    frame1.add(label1);
    frame1.setVisible(true);
}
um einfach einmal das Beispiel komplett zu kopieren von https://stackoverflow.com/questions/22733881/java-swing-unable-to-load-image-using-getresource
 
VPChief

VPChief

Bekanntes Mitglied
Ich versteh da nur noch Banhof. Und mit setIcon(new ImageIcon("src\\textures\\....png")); geht da nichts?
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
Die Sourcen hast Du auf Deinem System. Die übersetzt Du ja um etwas neues zu erstellen, welches Du dann weiter geben kannst. Das ist bei Windows Entwicklung in anderen Sprachen (z.B. c++ / c#) eine exe ... bei Java ist es erst einmal eine jar Datei.

Da hast Du dann aber kein src Ordner mehr. Daher ist dieser Ansatz so erst einmal nicht zielführend.

Aber Java bietet da natürlich entsprechende Techniken an, um
a) Ressourcen mit in das, was weitergegeben wird, zu packen.
b) auf diese zusammen gepackten Ressourcen zu zu greifen.

Und nun hast Du doch auch schon fast fertigen Code bekommen. Du musst nur minimale Änderungen machen:
"IconTest" musst Du durch den Namen Deiner Klasse ersetzen.
"strawberry.jpg" musst Du nur noch durch den Pfad / Namen deiner Datei ersetzen ("/textures/.......")

Ansonsten noch einfach folgende Hilfsklasse, die Du einbinden kannst:
Java:
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.IOException;

public class ImageHelper {
    /**
     * Loads an Image of a given resource path.
     * @param resource path to a resource to load.
     * @return Loaded Image.
     * @throws IOException
     */
    public static Image loadImage (final String resource) throws IOException {
        return ImageIO.read(ImageHelper.class.getResourceAsStream(resource));
    }

    /**
     * Loads an ImageIcon of a given resource path.
     * @param resource path to a resource to load.
     * @return Loaded ImageIcon.
     * @throws IOException
     */
    public static ImageIcon loadImageIcon (final String resource) throws IOException {
        return new ImageIcon(loadImage(resource));
    }
}

Dann kannst Du einfach schreiben:
setIcon(ImageHelper.loadImageIcon("/textures/....png"));
 
VPChief

VPChief

Bekanntes Mitglied
Danke für die Erklärung.
Jetzt habe ich es so gemacht:
Java:
InputStream resourceAsStream = Main_Class.class.getResourceAsStream("src\\textures/Button_Start.png");
        Image image;
        try {
            image = ImageIO.read(resourceAsStream);
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        JButton start = new JButton  (new ImageIcon(image));
Aber dann kommt da ne Fehlermeldung bei:
Java:
(new ImageIcon(image));

The local variable image may not have been initialized
 
T

thecain

Top Contributor
Danke für die Erklärung. Ich hab mal was ganz anderes gemacht.

Lies nochmal den Beitrag von @JustNobody ...

Die Fehlermeldung die du kriegst, kommt daher, dass im try ein Fehler auftreten könnte, den du catchst. Dann wäre image nicht initialisiert.
 
kneitzel

kneitzel

Top Contributor
Und wie auch schon mehrfach erwähnt und auch erläutert: das src ist nur bei Dir in der Entwicklungsumgebung... lass es weg!

Und vergiss die Backslash in Java und nutze doch nur den einfachen Slash.
 
VPChief

VPChief

Bekanntes Mitglied
Also. Das mit dem Backslash hab ich mir mal Angewohnt, von ein paar Tutorials auf YouTube. Deshalb mach ich den Jetzt Automatisch
Code:
public static void main(String[] arguments) throws IOException {

JFrame frame1 = new JFrame();
frame1.setTitle("Frame1");
frame1.setSize(500, 500);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
FlowLayout flo = new FlowLayout();
frame1.setLayout(flo);

InputStream resourceAsStream = IconTest.class.getResourceAsStream("strawberry.jpg");
Image image = ImageIO.read(resourceAsStream);

JLabel label1 = new JLabel(new ImageIcon(image));
frame1.add(label1);
frame1.setVisible(true);
}

Ich habe das jetzt Zeile für Zeile in eine Klasse Test eingefügt, doch es gibt immer noch Fehlermeldungen
Java:
package programm;

import java.awt.FlowLayout;
import java.awt.Image;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

import org.omg.CORBA.portable.InputStream;

public class Test {
    
    public static void main(String[] arguments) throws IOException {

        JFrame frame1 = new JFrame();
        frame1.setTitle("Frame1");
        frame1.setSize(500, 500);
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        FlowLayout flo = new FlowLayout();
        frame1.setLayout(flo);

        InputStream resourceAsStream = (InputStream) Test.class.getResourceAsStream("textures/Button_Start.png");
        Image image = ImageIO.read(resourceAsStream);
        JLabel label1 = new JLabel(new ImageIcon(image));
        frame1.add(label1);
        frame1.setVisible(true);
    }

}
So ist der Code... oder habe ich jetzt wieder etwas ,,ganz anderes gemachtˮ wie thecain schon so treffend bemert hat.
 
kneitzel

kneitzel

Top Contributor
a) Die Klasse, die ich gepostet habe, kannst Du 1:1 verwenden. Dafür war sie iegentlich gedacht.
b) InputStream ist java.io.InputStream und nicht org.omg.CORBA.portable.InputStream - wenn Du den Import richtig setzt, dann musst Du auch keinen cast machen.
c) Wie schon in #14 der Punkt b): Du musst mit einem / anfangen, ansonsten sucht er relativ zum Namespace der Klasse. Der Namespace ist bei Dir programm, daher würde er ein /programm/textures/Button_Start.png suchen. mit einem führenden / verhinderst Du das.
 
VPChief

VPChief

Bekanntes Mitglied
Sorry, Die Fehlermeldung wollte ich eigentlich einfügen:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at programm.Test.main(Test.java:27)
Die Datei Button_Start.png liegt im Textures Ordner jetzt im Package.
 
Zuletzt bearbeitet:
VPChief

VPChief

Bekanntes Mitglied
Danke
b) InputStream ist java.io.InputStream und nicht org.omg.CORBA.portable.InputStream - wenn Du den Import richtig setzt, dann musst Du auch keinen cast machen.
c) Wie schon in #14 der Punkt b): Du musst mit einem / anfangen, ansonsten sucht er relativ zum Namespace der Klasse. Der Namespace ist bei Dir programm, daher würde er ein /programm/textures/Button_Start.png suchen. mit einem führenden / verhinderst Du das.

Das hat mir geholfen, jetzt funktioniert das. (zumindest in Eclipse, und in der Klasse Test und nicht in meiner Main_Class.) Wenn ich es Exportiere Kommt ein Fenster:
JAR export finished with warnings. See details for additional information.
Exported with compile warnings: BilderimJar/src/programm/Main_Class.java
Dabei exportiere ich nur Test.
Und die Exportierte JAR kann ich nicht ausführen.
Nach dem Exportieren kann ich es auch nicht mehr in Eclipse ausführen. Dann kommt wieder unser altbekanntes:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at programm.Test.main(Test.java:27)
 
kneitzel

kneitzel

Top Contributor
Also ich kann Dir im Augenblick nicht folgen. Ich habe ehrlich gesagt gerade keine Ahnung mehr, was Du derzeit genau machst.

Generell scheint Eclipse das ganze Projekt zu bauen und in da Jar zu packen. Wenn Du da also mehrere Klassen hast, dann wirst Du wohl alles exportiert haben. Falls Du da doch irgendwas einschränkst, dann ist die Frage, was da nun fehlt. Dazu wäre eine Fehlermeldung sinnvoll (Was bedeutet "Kann das jar nicht ausführen"?) Generell kann man aber - wie schon beschrieben - in das jar File hinein schauen. Beim Ausführen sind dann Dinge wichtig wie:
- Stimmt das Manifest? Ist es vorhanden? Was für eine Klasse ist da als Main Class angegeben?
- Sind die Klassen und Ressource Dateien vorhanden (und am richtigen Platz)?

Und ohne es böse zu meinen: Evtl. macht es Sinn, das alles etwas langsamer anzugehen und dann Schritt für Schritt ein Thema nach dem anderen abzuhaken. Ein Lehrbuch oder ähnliches wäre da hilfreich. Ich habe da Gefühl, dass da einige Themen auf einmal auf die zu gekommen sind und Dir komplett der Überblick fehlt. Und ich sehe gerade nur wenig Ansätze, da die richtigen Ansätze für Dich zu finden.
 
VPChief

VPChief

Bekanntes Mitglied
Um dir einen Überblick zu verschaffen:
Ich habe neben meiner Main_Class eine zweite Klasse, die ich Test genannt habe gemacht. Dort habe ich den Code aus #22 genommen und eingefügt. dann habe ich deine Verbesserungsvorschläge aus #29 befolgt und habe die Test Klasse ausgeführt. Es hat funktioniert. Dann habe ich bei Exportieren die Test Klasse ausgewählt und habe als Speicherort mein Desktop ausgewählt. Nach dem Exportieren kam dieses Fenster:

JAR export finished with warnings. See details for additional information.
Exported with compile warnings: BilderimJar/src/programm/Main_Class.java


Als ich dann die JAR auf dem Desktop ausführen wollte, ging das nicht. Dann wollte ich es in Eclipse ausführen, und dann kam wieder die Fehlermeldung

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at programm.Test.main(Test.java:27)
.
Ich habe mich mit dieser Methode noch nie richtig ausseinandergesetzt, weil bei mir immer so viele Fehlereldungen kamen und ich dann die andere Methode gefunden habe. Deshalb sind meine Fragen meistens dumm. Entschuldigung dafür 😁
 
kneitzel

kneitzel

Top Contributor
Was als erstes auffällt: textures ist nicht mehr im src Ordner. Da solltest Du es aber lassen, damit die Dateien auch im jar landen.
 
L

LimDul

Top Contributor
Wieso hast du denn jetzt die Bilder verschoben? Die liegen im Screenshot auf der ersten Seite noch im src-Ordner, jetzt liegen sie lose rum und so kann das nicht funktionieren.

Möglichkeit a) Die Bilder wieder in den Scr Folder schieben (Aber nicht die Pfade im Programm anpassen!)
Möglichkeit b) einen neuen Ordner resourcen erstellen, da Verzeichnisse mit den Bilder reinschieben und den Ordner in den Classpath aufnehmen.

Wenn du mit getResourceAsStream arbeitest, gilt: "/" bezeichnest die oberste Ebene deines Classpath. Das heißt bei /textures/Button_Start.png erwartet java die Datei im Ordner textures der auf der obersten Ebene des Classpath liegt - also in src, wenn du es aus Eclipse startest oder im Jar wenn du es als Jar startest.
 
mihe7

mihe7

Top Contributor
Mal abgesehen von den Kommentaren von @JustNobody und @LimDul: die Main-Klasse ist Schrott, da brauchst Du Dich über den Compiler-Fehler nicht zu wundern. Dann willst Du ein Bild /textures/Button_Start.png laden, das überhaupt nicht existiert. Das Teil heißt btnStart.png und nicht Button_Start.png
 
mihe7

mihe7

Top Contributor
Was betreibst Du da?!? Du musst lediglich den textures-Ordner wieder nach src verschieben und die Datei richtig benennen bzw. im Code den richtigen Dateinamen angeben, dann funktioniert das einwandfrei.
 
kneitzel

kneitzel

Top Contributor
Ich kenne Eclipse nicht so genau. Stört es den Build, wenn da eine Klasse nicht übersetzt werden kann? Nicht dass da immer ein alter Stand ausgeführt wird ....

Generell würde ich immer erst dafür sorgen, dass alles übersetzt, ehe ich irgend etwas testen würde. Das wäre noch eine Anregung von mirß
 
VPChief

VPChief

Bekanntes Mitglied
Was betreibst Du da?!? Du musst lediglich den textures-Ordner wieder nach src verschieben und die Datei richtig benennen bzw. im Code den richtigen Dateinamen angeben, dann funktioniert das einwandfrei.
Das habe ich ja mit ändern gemeint. was meinst du mit übersetzen?
 
L

LimDul

Top Contributor
Das es keine Kompilier-Fehler mehr gibt (Sollte Eclipse aber nicht stören, solange alles kompiliert, was man braucht)
 
kneitzel

kneitzel

Top Contributor
Nein, das wissen wir alle nicht. Wir schreiben hier nur ständig irgendwelche Dinge um Dich zu irritieren und zu ärgern. Daher ist es schon eine super Leistung von Dir, das Du dies erkannt hast und diese Aussagen direkt ignorierst.

Und Java ist einfach mangelhaft, da es so einfache Dinge wie Resourcen in eine Jar Datei Packen nicht kann. Auch wenn das einige hier nicht wahr haben wollen und so idiotisches Zeug erzählen von wegen "textures Ordner in src Ordner verschieben" (#41, #38, #37)

Die Frage ist nur, wer Deinen Rechner gehackt hatte. Denn irgend wer von Uns muss ganz offensichtlich Deinen Rechner gehackt haben und heimlich manuell die Bilder in das jar kopiert haben, denn in #11 war es ja mal drin... Schon eine Anzeige wegen Computer-Sabotage bei der Polizei gestellt?



Ok, sorry, wegen diesem sarkastischen Absatz, aber nur damit Du es verstehst einmal eine kurze Übersicht zu dem, was eclipse da so auf magische Weise macht:

Der src Ordner ist für Eclipse der Ordner, wo es Dateien als Eingabe nehmen soll. Und es gibt ein Zielverzeichnis, das man zwar beliebig festlegen kann aber per default und auch bei dir ist dies das bin Verzeichnis. (.classpath Datei: <classpathentry kind="output" path="bin"/>)
Und nun geht Eclipse beim bauen alle Dateien durch und schaut, ob es mit der Datei etwas anfangen kann:
- java Dateien werden übersetzt. Als Ergebnis landen .class Dateien im bin Verzeichnis
- Bilder werden kopiert.

Somit kannst Du Deine Bilder samt Ordner in src kopieren. Dann sollte Eclipse diese auch noch ins bin Verzeichnis kopieren (Da kannst Du dann nach sehen)

Der Inhalt vom bin Verzeichnis dürfte dann im Jar landen - d.h. wenn die Bilder im bin Verzeichnis zu finden sind, dann sollten sie auch im jar sein.

Wichtig: Du machst von Hand nichts mit dem bin Verzeichnis. Nicht das du auf die Idee kommst, die Bilder da rein zu kopieren. Das Verzeichnis ist ein generiertes Verzeichnis und du kannst es auch komplett löschen und Eclipse erzeugt es dann neu (samt Inhalt).
 
VPChief

VPChief

Bekanntes Mitglied
Ich habe ehrlich gesagt keine Ahnung warum es gestern nicht funktioniert hat. Ich habe es heute nochmal gestartet, und jetzt funktioniert es. Vielen Dank, und entschuldigt, dass ich mich manchmal dumm angestellt habe
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
und entschuldigt, dass ich mich manchmal dumm angestellt habe

Das ist prinzipiell in Ordnung. Das Nervige an sowas (aus meiner Sicht) bist nicht Du, sondern einfach nur, dass einem teilweise die Ideen ausgehen und man überlegt, was evtl. falsch verstanden wurde. Also auf gar keinen Fall pers. nehmen - auch wenn mal etwas sehr sarkastisches geantwortet werden sollte.

Und ein Teil des Problems mag auch gewesen sein, dass nur Teillösungen gepostet wurden und dann die Umsetzung erschwert war. (Am Anfang mein Hinweis mit dem getResosurceAsStream aber ich habe beim Schreiben vergessen, dass ImageIO auch notwendig ist...)

Es freut mich auf jeden Fall, dass es nun geklappt hat und hoffe, dass der eine oder andere Punkt durch Erklärungen auch deutlich geworden ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W netbeans projekt in Eclipse importieren -gui teil geht nicht AWT, Swing, JavaFX & SWT 5
D runnable Jar mit Javafx erstellen(Eclipse) AWT, Swing, JavaFX & SWT 10
C JavaFX mit CSS in Eclipse AWT, Swing, JavaFX & SWT 2
S Swing Schrift sehr klein Ubuntu/eclipse AWT, Swing, JavaFX & SWT 18
A Eclipse Windowbuilder Frameanzeige falsch AWT, Swing, JavaFX & SWT 3
C JavaFX Veränderungen in Scenebuilder in Eclipse als Quellcode anzeigen lassen AWT, Swing, JavaFX & SWT 11
VPChief Swing Eclipse: Nach Exportieren, Button funktioniert nicht mehr AWT, Swing, JavaFX & SWT 26
B eclipse für JavaFx setuppen AWT, Swing, JavaFX & SWT 4
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
F Kein JavaFX mehr im Eclipse Wizard AWT, Swing, JavaFX & SWT 1
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
B Swing Eclipse is running under 0, but this Java project has a 1.6 Java compliance level, so WindowBuilder AWT, Swing, JavaFX & SWT 2
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
R JavaFX lässt sich nicht in Eclipse einbinden AWT, Swing, JavaFX & SWT 4
S download WindowBuilder Pro Eclipse AWT, Swing, JavaFX & SWT 1
N Eclipse - GUI - MacBook - Buttonsichtbarkeit beim Anlegen/Erstellen AWT, Swing, JavaFX & SWT 14
I JAVAFX - CSS - automatische Property- und Methoden-Vorlagen in Eclipse AWT, Swing, JavaFX & SWT 17
I JAVA 8, JAVAFX und Eclipse – muss Eclipse extra eingerichtet werden? AWT, Swing, JavaFX & SWT 9
Z ProgressBar in Eclipse mit Wizard page? AWT, Swing, JavaFX & SWT 1
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
J JavaFX Anwendung läuft in eclipse, nicht aber exportiert AWT, Swing, JavaFX & SWT 2
R Eclipse GUI Programmieren AWT, Swing, JavaFX & SWT 8
P Ubuntu - Eclipse - Windowbuilder AWT, Swing, JavaFX & SWT 0
M 3D-Grafik Mac Java 3D in Eclipse Exception AWT, Swing, JavaFX & SWT 0
O Eclipse Hitbox(en) AWT, Swing, JavaFX & SWT 6
D Robot Programm mit Escape abbrechen (aus Eclipse heraus) AWT, Swing, JavaFX & SWT 2
M LookAndFeel Oberfläche wie Eclipse/Business Objects oder Solvatio AWT, Swing, JavaFX & SWT 2
N Programm läuft perfekt in Eclipse aber nicht in .JAR AWT, Swing, JavaFX & SWT 3
T SWT benötige den richtigen SWT style --> org.eclipse.swt.SWT.* AWT, Swing, JavaFX & SWT 2
C Eclipse Filter-Muster AWT, Swing, JavaFX & SWT 2
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
H org.eclipse.swt.widgets.Slider und negative Werte AWT, Swing, JavaFX & SWT 3
L Eclipse Fehler besser zu verstehen!!! AWT, Swing, JavaFX & SWT 4
B JAVAFX und CSS Datei in Eclipse AWT, Swing, JavaFX & SWT 4
M Swing in Eclipse AWT, Swing, JavaFX & SWT 1
A Eclipse Windowbuilder AWT, Swing, JavaFX & SWT 2
B JavaFX FXML - Eclipse einrichten AWT, Swing, JavaFX & SWT 2
G Eclipse: Design Tab wird nicht mehr angezeigt AWT, Swing, JavaFX & SWT 4
S Swing SplitButton wie in Eclipse AWT, Swing, JavaFX & SWT 5
P JApplet verhält sich im Browser anders als im Eclipse (AppletViewer) AWT, Swing, JavaFX & SWT 3
A Kinect und Eclipse AWT, Swing, JavaFX & SWT 2
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
J SWT in eclipse importieren AWT, Swing, JavaFX & SWT 11
K Eclipse-Java Export/Import mit Oberfläche AWT, Swing, JavaFX & SWT 2
T eclipse.swt.widgets saveState NPE AWT, Swing, JavaFX & SWT 5
V Laden einer Bitmap / Eclipse-Problem? AWT, Swing, JavaFX & SWT 4
K 2D-Grafik Punkt in Eclipse AWT, Swing, JavaFX & SWT 4
S JavaFX 2.0 in Eclipse RAP??? AWT, Swing, JavaFX & SWT 6
M Eclipse-Platform Combo-Binding für User-Einträge AWT, Swing, JavaFX & SWT 9
D VE in Eclipse mag einfach nicht funktionieren AWT, Swing, JavaFX & SWT 5
S FileFilter Problem Eclipse AWT, Swing, JavaFX & SWT 7
V Eclipse View Right-Click Menu hinzufügen AWT, Swing, JavaFX & SWT 2
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
T SWT Drag&Drop: Eclipse FileTransfer mit Icons AWT, Swing, JavaFX & SWT 14
M GEF und Eclipse Plugin schwierigkeiten AWT, Swing, JavaFX & SWT 2
B Debugging in Eclipse, Aufrufreihenfolge AWT, Swing, JavaFX & SWT 3
E Wo findet man: org.eclipse.core.runtime.ListenerList AWT, Swing, JavaFX & SWT 4
S [Eclipse RCP] Relativer Pfad AWT, Swing, JavaFX & SWT 8
Binary.Coder Netbeans GUI zu Eclipse (schon gegooglet und einiges ausprobiert). AWT, Swing, JavaFX & SWT 4
P SWT Eclipse Draw2D Drag and Drop (ruckelt) AWT, Swing, JavaFX & SWT 4
G Große dynamische ContextMenus erzeugen (Eclipse RCP) AWT, Swing, JavaFX & SWT 4
Crashbreaker SWT Frames wie bei Eclipse AWT, Swing, JavaFX & SWT 43
J Swing Pro WindowBuilder in Eclipse AWT, Swing, JavaFX & SWT 2
D Problem mit SmartGWT (2.4) und Eclipse (3.6) AWT, Swing, JavaFX & SWT 6
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
M 3D-Grafik Java3D-Application als executable .jar exportieren (Eclipse) AWT, Swing, JavaFX & SWT 5
K SWT oder AWT als Download für Eclipse AWT, Swing, JavaFX & SWT 5
dzim SWT Layout mit Sections aus Eclipse Forms AWT, Swing, JavaFX & SWT 17
A SWT Eclipse JFace Binding TreeViewer AWT, Swing, JavaFX & SWT 4
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
E JavaHelp mit Eclipse AWT, Swing, JavaFX & SWT 2
B SWT Hello World-Anwendung mit GUI in Eclipse -Problem mit Import von SWT AWT, Swing, JavaFX & SWT 9
J eclipse/Visual Editor: Auf Felder/Methoden vom Hauptframe zugreifen AWT, Swing, JavaFX & SWT 4
M Swing Memory Spiel in Eclipse AWT, Swing, JavaFX & SWT 5
U Netbeans GUI nach Eclipse AWT, Swing, JavaFX & SWT 7
J Anwendung von Swing nach SWT bzw. Eclipse portieren AWT, Swing, JavaFX & SWT 3
G Look And Feel in Eclipse AWT, Swing, JavaFX & SWT 2
D Swing eine Art vorschlagsfenster wie in eclipse bei "." AWT, Swing, JavaFX & SWT 5
M SWT pack() von org.eclipse.swt.widgets.Control AWT, Swing, JavaFX & SWT 8
H Eclipse View / Window Layout AWT, Swing, JavaFX & SWT 3
S Dropdown-Menü wie auf der Eclipse-Toolbar AWT, Swing, JavaFX & SWT 7
T [Applet] startet in Eclipse aber nicht im Browser AWT, Swing, JavaFX & SWT 2
D Autovervollständigung wie bei Dreamweaver/Eclipse AWT, Swing, JavaFX & SWT 4
K Eclipse Visual Editor rendert die Komponenten nicht richtig AWT, Swing, JavaFX & SWT 2
K nervende eigenschaft von eclipse AWT, Swing, JavaFX & SWT 3
P Programm terminiert nicht (unter Eclipse) AWT, Swing, JavaFX & SWT 5
I Spezieller Knopf in Swing? Soll sein wie der Run in Eclipse. AWT, Swing, JavaFX & SWT 4
S Eclipse Icon Set AWT, Swing, JavaFX & SWT 6
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
F Bilder im Quellcode verstecken - Eclipse AWT, Swing, JavaFX & SWT 15
W java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/Dev AWT, Swing, JavaFX & SWT 1
D Tooltips in Eclipse AWT, Swing, JavaFX & SWT 6
C Parameter übergeben in Eclipse AWT, Swing, JavaFX & SWT 3
B GUI mit Eclipse Tool AWT, Swing, JavaFX & SWT 8
R Eclipse RCP: Extension point benutzen? AWT, Swing, JavaFX & SWT 3
G swt in eclipse AWT, Swing, JavaFX & SWT 7
foobar Eclipse-RCP: Fehlermeldungen werden nicht angezeigt AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben