ImageIcon - Probleme mit dem Dateipfad

Bolic

Mitglied
Guten Abend,

ich bin kurz vor dem absoluten verzweifeln, doch ich weiß nicht was mein Fehler ist.

Java:
public Component printKarten(String kartenFarbe, String kartenName) {
		ImageIcon icon = new ImageIcon("C:\\Dropbox\\WORKSPACE\\Kartenspiele\\src\\BlackJack\\kartenbilder\\"+kartenFarbe+kartenName+".jpg");
		icon.setImage(icon.getImage().getScaledInstance(100,100, Image.SCALE_DEFAULT));
		labelKarten = new JLabel(icon);
		return labelKarten;
	}

Ich habe mir also eine Methode gebastelt, die mir die passenden Bilder zu den Spielkarten ausgeben soll. Mein Problem liegt im Dateipfad. Denn ein Bild wird NUR angezeigt, wenn ich wirklich den Pfad von c: aus angebe. Ich würde aber gerne nur kartenbilder\name.jpg nutzen! In der API steht das übrigens genau so, führt aber zu keinem Effekt.

Vielen Dank für eure Antworte und nen schönen Abend noch ;)

Grüße Bolic
 

Bolic

Mitglied
Danke für die schnelle Antwort und den Link.

Bin die Seite mal durchgegangen und habe eigentlich alle Varianten mal ausprobiert. Aber irgendwie funktioniert das nicht. Dort steht auch wieder, dass man den Dateipfad als String einfach angeben kann:

Wäre bei mir also
Java:
ImageIcon icon = new ImageIcon("kartenbilder\\"+kartenFarbe+kartenName+".jpg");

Habe auch ein paar Möglichkeiten ausprobiert. Mal ein '/' benutzt. Oder vor kartenbilder auch noch ein Slash oder zwei Blackslahes. Irgendwie tuts das alles nicht. Nur wenn ich es, wie oben gezeigt angebe.

Tut das was zur Sache, dass ich auf einem win8 Rechner das mache? Wahrscheinlich nicht...

Sollte ich das Problem vielleicht direkt mit was anderem und nicht einem IconImage angehen? Nur wie kann ich das dann einem Label hinzufügen? Kann mich auch anfreunden was anderes als ein Label zu benutzen.

Ziel ist es, bzw bisher so gedacht: Ich habe ein Label, was mit in das UI eingebunden ist und mit dem Aufruf:

Java:
panelKarten.add(printKarten(karte.getKartenFarbe(),karte.getKartenName()));

soll dann die Methode aufgerufen werden, wodurch das Bild der Spielkarte direkt dem Label, also dem UI hinzugefügt werden soll. Hier nochmal die Methode:

Java:
public Component printKarten(String kartenFarbe, String kartenName) {
		ImageIcon icon = new ImageIcon("C:\\Dropbox\\WORKSPACE\\Kartenspiele\\src\\BlackJack\\kartenbilder\\"+kartenFarbe+kartenName+".jpg");
		icon.setImage(icon.getImage().getScaledInstance(100,100, Image.SCALE_DEFAULT));
		labelKarten = new JLabel(icon);
		return labelKarten;
	}

Will dort eben nicht abhängig davon sein, wo die Dateien liegen. Sprich dass C:\\Dropbox\\WORKSPACE\\Kartenspiele\\src\\BlackJack\\ nicht mehr da stehen muss.
Später will ich das ganze vielleicht noch in eine jardatei packen, damit man das eben einfach so starten kann.

Help me pleas ;)

Vielen Dank für eure Mühen ;)

Grüße Bolic
 

L-ectron-X

Gesperrter Benutzer
Warum später?
Schreibe deinen Code gleich so, dass er auch für die Referenzierung der Bilder in Jar-Dateien genügt.
Im obigen Link findest du dazu Anweisungen in denen
Code:
getClass().getResource(...)
verwendet wird. Das solltest du benutzen.
ImageIcon ist für die Verwendung in einem JLabel schon die beste Wahl.

Zu den Backslashes: Ich finde das eine unschöne Sache, Backslashes zu verwenden, weil sich diese auf die Windows-Plattform ausrichten. Das gleiche Programm wird unter Linux nicht mehr funktionieren, auch wenn du keine Laufwerksangaben im Pfad haben solltest. Das Beste ist daher, nur Slashes zu nutzen.
 

Bolic

Mitglied
Ah, perfekt. Danke. Mit dem Tipp hab ich es nun.

Das Problem mit dem Dateipfad im ImageIcon ist nun zwar nicht gelöst, aber ich habe nun die Jar-File erstellt und es wie folgt gelöst.

Java:
public Component printKarten(String kartenFarbe, String kartenName) {
		try {
			image = ImageIO.read(getClass().getResource("/Kartenspiele/src/BlackJack/kartenbilder/"+kartenFarbe+kartenName+".jpg"));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		ImageIcon icon = new ImageIcon(image);
		icon.setImage(icon.getImage().getScaledInstance(100,100, Image.SCALE_DEFAULT));
		labelKarten = new JLabel(icon);
		return labelKarten;
	}

So habe ich nun ne nette Jar-File, in der alles funktioniert ;) Danke dir
 

Bolic

Mitglied
So wie ich das gerade geschrieben habe stimmts nicht ganz. Für die Korrektheit, falls jemand den Thread mal liest:

Meine Struktur in der Jar-File sieht wie folgt aus: (Aus dem "Kartenspiel" mache ich eine Jar-File.)
Unbenannt7b3d.PNG


Dann muss es wie folgt aussehen:

Code:
			image = ImageIO.read(getClass().getResource("/BlackJack/kartenbilder/"+kartenFarbe+kartenName+".jpg"));
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
C Swing ImageIcon erstellen, skalieren und verwenden AWT, Swing, JavaFX & SWT 3
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
cool_brivk24 Swing ImageIcon lädt kein Bild AWT, Swing, JavaFX & SWT 12
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
S Bild mit ImageIcon auf GUI verkleinern AWT, Swing, JavaFX & SWT 3
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
L ImageIcon auf JPanel wird nicht angezeigt(keiner Fehlermeldung) AWT, Swing, JavaFX & SWT 11
stylegangsta JButton Fehelr javax.swing.ImageIcon.<init>(Unknown Source) AWT, Swing, JavaFX & SWT 24
L JButton mit ImageIcon/Fehlermeldung AWT, Swing, JavaFX & SWT 1
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
S JLabel mit ImageIcon, komischer Rahmen? AWT, Swing, JavaFX & SWT 2
O ImageIcon lädt nicht AWT, Swing, JavaFX & SWT 2
kaoZ Swing JToolBar, ImageIcon werden teilweise verdeckt AWT, Swing, JavaFX & SWT 0
R ImageIcon - Über Socket AWT, Swing, JavaFX & SWT 1
P ImageIcon lade schlägt fehl AWT, Swing, JavaFX & SWT 5
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
S JLabel zeigt ImageIcon nicht AWT, Swing, JavaFX & SWT 13
C Swing ImageIcon mit Bild aus Temp-Verzeichniss füllen AWT, Swing, JavaFX & SWT 15
P ImageIcon auf Rectangle AWT, Swing, JavaFX & SWT 3
C ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen AWT, Swing, JavaFX & SWT 2
A Swing ImageIcon hover AWT, Swing, JavaFX & SWT 9
M ImageIcon Bild wird beim verkleinern des Fensters nicht verkleinert AWT, Swing, JavaFX & SWT 3
B Swing ImageIcon Resizing AWT, Swing, JavaFX & SWT 15
S ImageIcon von Label entfernen AWT, Swing, JavaFX & SWT 9
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
Zettelkasten imageIcon-Rand wegmachen AWT, Swing, JavaFX & SWT 5
S Abspeichern aus einem ImageIcon ins korrekte Format AWT, Swing, JavaFX & SWT 2
J ImageIcon: ZipException bei ungültiger PNG-Datei AWT, Swing, JavaFX & SWT 2
S ImageIcon Grösse anpassen AWT, Swing, JavaFX & SWT 2
J Geladene Grafik in ImageIcon auf Panel fest positionern. AWT, Swing, JavaFX & SWT 8
badfish Swing ImageIcon auf JLabel, Fenster Maximieren verbieten und Icon oben links austauschen? AWT, Swing, JavaFX & SWT 5
B Problem mit imageIO und ImageIcon AWT, Swing, JavaFX & SWT 5
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
C Swing JComboBox - Problem bei Darstellen von ImageIcon AWT, Swing, JavaFX & SWT 4
G ImageIcon viel zu groß AWT, Swing, JavaFX & SWT 2
G IMageIcon Bildgröße ändern AWT, Swing, JavaFX & SWT 7
isowiz Leeres ImageIcon einer bes timmten Größe erzeugen AWT, Swing, JavaFX & SWT 2
W ImageIcon im JLabel mit autosize? AWT, Swing, JavaFX & SWT 3
B ImageIcon JFrame AWT, Swing, JavaFX & SWT 3
M ImageIcon auf AbstractButton links-/rechtbündig AWT, Swing, JavaFX & SWT 2
D jButton mit ImageIcon & MouseListener AWT, Swing, JavaFX & SWT 5
M ImageIcon in JLabel verkleinern AWT, Swing, JavaFX & SWT 8
S n-e-w JLabel(n-e-w ImageIcon(i)) funkt. nicht im JScrollPane AWT, Swing, JavaFX & SWT 2
M Problem, an ImageIcon in JPanels zu kommen. AWT, Swing, JavaFX & SWT 2
J Bildfilterung und Ausgabe in ein ImageIcon AWT, Swing, JavaFX & SWT 2
X ImageIcon für JButton AWT, Swing, JavaFX & SWT 4
X JButton "effect" für ImageIcon AWT, Swing, JavaFX & SWT 6
F ImageIcon -> BufferedImage AWT, Swing, JavaFX & SWT 2
T ImageIcon als Seperator im Jmenu AWT, Swing, JavaFX & SWT 8
G JLabel und ImageIcon AWT, Swing, JavaFX & SWT 16
padde479 ImageIcon laden AWT, Swing, JavaFX & SWT 6
L Anzeigen von fotos: ImageIcon oder BufferedImage + paint() ? AWT, Swing, JavaFX & SWT 5
J ImageIcon, Image - 100% CPU Auslastung . AWT, Swing, JavaFX & SWT 3
B imageicon relativer Pfad AWT, Swing, JavaFX & SWT 5
F ImageIcon Größe ändern AWT, Swing, JavaFX & SWT 29
M ImageIcon / .paintIcon() AWT, Swing, JavaFX & SWT 2
M Problem mit ImageIcon in einer JTable AWT, Swing, JavaFX & SWT 2
D JButton einen neuen ImageIcon setzen? AWT, Swing, JavaFX & SWT 2
R resize ImageIcon AWT, Swing, JavaFX & SWT 7
B Problem mit ImageIcon/Swing in Linux AWT, Swing, JavaFX & SWT 6
K ImageIcon fehler ? AWT, Swing, JavaFX & SWT 4
M ImageIcon laden? AWT, Swing, JavaFX & SWT 2
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
B Swing Probleme mit dem Layout 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
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben