Swing Image einem Button hinzufügen

Farbenfroh86

Mitglied
Hi!
Ich dreh gerade durch.. ich finde einfach keinen Fehler. Ich habs in einem alten Projekt genauso gelöst und es hat einwandfrei funktioniert. Der Debugger sagt auch nichts. Habe es auch schon mit dem absoluten Pfad des Bildes versucht.

Ich möchte hier 5 JButtons die alle das selbe Bild (bild1.jpg) enthalten. Ich bekomme aber nur 5 leere Buttons.
Ist mir wirklich peinlich aber ich suche schon seit 2 Stunden nach dem Fehler und komme einfach nicht drauf. Habe es auch schon Schritt für Schritt mit einem alten Code verglichen der ähnlich aufgebaut war und dort hat es genau so geklappt.

Bitte um Hilfe & Danke!

Java:
import java.awt.Color;
import java.awt.Insets;

import javax.swing.*;

public class GameMain {

		
	public static void main(String[] args) {

		JButton a_1,a_2,a_3,a_4,a_5;

		ImageIcon empty_slot = new ImageIcon("pics/bild1.jpg");

		a_1 = new JButton(empty_slot);
		a_1.setMargin(new Insets(0,0,0,0)); //passt das Bild an den Button an
		a_2 = new JButton(empty_slot);
		a_2.setMargin(new Insets(0,0,0,0));
		a_3 = new JButton(empty_slot);
		a_3.setMargin(new Insets(0,0,0,0));
		a_4 = new JButton(empty_slot);
		a_4.setMargin(new Insets(0,0,0,0));
		a_5 = new JButton(empty_slot);
		a_5.setMargin(new Insets(0,0,0,0));

			JPanel jp = new JPanel();		

				jp.add(a_1);
				jp.add(a_2);
				jp.add(a_3);
				jp.add(a_4);
				jp.add(a_5);

		JFrame window = new JFrame();
		window.setSize(500,600);
		window.setTitle("Titel");
		window.setLocationRelativeTo(null);
		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		
		window.add(jp);
		window.setVisible(true);
}}
 

Gucky

Top Contributor
Mal ein Schuss ins Blaue: Du übergibst den neuen Insets Objekten vier mal 0. Ich kenne es so, dass dabei x,y,witdh,heigth übergeben wird. Folglich übergibst du Insets, dass das Bild im Punkt (0|0) sein soll und und 0 Pixel breit und 0 Pixel hoch (tief) sein soll.
 

knilch

Bekanntes Mitglied
Mal ein Schuss ins Blaue:
Das funktioniert schon... Das problem für diesen Fall ist, dass das Icon nicht geladen wird:
hier mal ein Beispiel mit einem icon im Ordner Images
Java:
ImageIcon icon = new ImageIcon(getClass().getResource("/Images/textVG1.png"));
 

Foxei

Bekanntes Mitglied
Hallo Knilch,
dieser Fehler tritt auf wenn das ImageIcon die Datei nicht so schnell geladen hat wie du die Buttons auf die Frame lädtst. Versuche mal dein Bild als BufferedImage mit ImageIO zu laden und dann ein ImageIcon draus zu machen in dem du das BufferedImage dem ImageIcon übergibst.

Gruß Simon
 

Farbenfroh86

Mitglied
Also das Problem bestand darin, dass ich das Bild im Farbformat CMYK gespeichert hatte. Nachdem ich es neu als RGB erstellt hatte, ging es dann (mit dem von mir geposteten Code). Bin in einem englischsprachigen Forum auf die Lösung des Problems gestoßen.
Danke dennoch für die schnellen Antworten!
 

Foxei

Bekanntes Mitglied
Generel gilt trotzdem das es eher unschön ist bei einem Großen Und komplexen Ui Bilder auf deine Art und weise zu laden. Am besten ist eine Statische Resources Klasse welche die Bilder vor Anzeigen des Ui als Buffered Images lädt und im Speicher hält. Dann sind Reaktions bzw. Lade zeit im Ui kürze. Und die Bilder sind sehr viel flexibeler aufzurufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Antialiasing in einem Offscreen-Image AWT, Swing, JavaFX & SWT 4
K Image aus einem JPanel ziehen und speichern AWT, Swing, JavaFX & SWT 2
T Image auf Panel in einem Internal Frame zeichnen AWT, Swing, JavaFX & SWT 5
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
K JavaFX Bildergalerie aus Image Ordner laden AWT, Swing, JavaFX & SWT 3
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
L AWT .gif image transparent machen AWT, Swing, JavaFX & SWT 3
kodela angezeigtes Image entfernen AWT, Swing, JavaFX & SWT 1
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
T Swing Buffered Image anzeigen AWT, Swing, JavaFX & SWT 45
L Image kann nicht gefunden werden AWT, Swing, JavaFX & SWT 1
S Stretch Image in ImageView AWT, Swing, JavaFX & SWT 4
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
L JavaFX Image mit Blureffect AWT, Swing, JavaFX & SWT 2
Bluedaishi JavaFX Button Image aus Datenbank AWT, Swing, JavaFX & SWT 13
F javaxt.io.Image getBufferedImage liefert null AWT, Swing, JavaFX & SWT 1
Yjuq JavaFX Custom Control - Image resize AWT, Swing, JavaFX & SWT 0
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
I Bild über FXML (ImageView, Image) anzeigen AWT, Swing, JavaFX & SWT 1
T Image Loader lädt Bild nicht AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
Q AWT TicTacToe Image auf Button hinzufügen AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L JavaFX leeres weißes Image - javafx.scene.image.Image AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
W Javafx - Image soll sich mit der Camera mitbewegen AWT, Swing, JavaFX & SWT 1
B Graphics to Image AWT, Swing, JavaFX & SWT 3
L Image in anderes kopieren AWT, Swing, JavaFX & SWT 0
T Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 1
S JavaFX Image Skalierung in Scrollpane, Scrollpane resized sich nicht AWT, Swing, JavaFX & SWT 5
I Image im PopupMenu vom SystemTray AWT, Swing, JavaFX & SWT 8
F JavaFX Position von Image angeben/verändern AWT, Swing, JavaFX & SWT 2
M JavaFX Image View Würfel berechnen AWT, Swing, JavaFX & SWT 3
L JButton mit Image AWT, Swing, JavaFX & SWT 5
B Resize von Image nach Resize von Button AWT, Swing, JavaFX & SWT 1
T Image aus "nicht-src-ordner" AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
C Image laden und Speichern - Image wird auf JPanel nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Image in JTable einfügen AWT, Swing, JavaFX & SWT 9
M Image aus MS Access anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Image im Array per Knopfdruck ändern AWT, Swing, JavaFX & SWT 6
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
G JavaFX Image vergrößern AWT, Swing, JavaFX & SWT 5
U Image mit Zeichenbereich rotieren AWT, Swing, JavaFX & SWT 3
P Speicherproblem SWT.Image in Nebula-Gallery AWT, Swing, JavaFX & SWT 3
L JavaFX: Bild in Image einlesen AWT, Swing, JavaFX & SWT 11
D Image soll langsam sichtbar werden AWT, Swing, JavaFX & SWT 4
D JLabel Image ausrichten AWT, Swing, JavaFX & SWT 2
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
I Image Button AWT, Swing, JavaFX & SWT 4
U IntBuffer zum Image konvertieren. AWT, Swing, JavaFX & SWT 9
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik Slideshow (DoubleBuffering und Image transformieren/bewegen) AWT, Swing, JavaFX & SWT 6
K Swing Warum bleibt das Image immer gleich AWT, Swing, JavaFX & SWT 4
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
R Image laden sehr langsam AWT, Swing, JavaFX & SWT 7
D Image.getScaledInstance() vs. Netzwerkverbindung??? AWT, Swing, JavaFX & SWT 2
reibi SWT Image viewer AWT, Swing, JavaFX & SWT 2
lumo SWT Image funktion auf ImageDaten AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
M Image wird nicht neugezeichnet nach dem Wechsel AWT, Swing, JavaFX & SWT 2
lumo SWT Image Pattern AWT, Swing, JavaFX & SWT 5
P Image mehrfach in ein BufferedImage zeichnen AWT, Swing, JavaFX & SWT 7
M Swing Image in JPanel als Componente AWT, Swing, JavaFX & SWT 2
P nicht sichtbares JPanel / JFrame als Image speichern AWT, Swing, JavaFX & SWT 3
T Image skaliert in Variable speichern AWT, Swing, JavaFX & SWT 6
S Image wird nicht (immer) in paintComponent gezeichnet? AWT, Swing, JavaFX & SWT 6
S Swing Image wird nicht geladen AWT, Swing, JavaFX & SWT 2
0 Mousecurser mit Image hinterlegen AWT, Swing, JavaFX & SWT 4
B Swing Drag&Drop mit Feedback (Image am Mauszeiger) AWT, Swing, JavaFX & SWT 7
N Java Choice Bilderausgabe - images - - image - AWT, Swing, JavaFX & SWT 2
D iText PdfPCell mit Image AWT, Swing, JavaFX & SWT 3
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
S Button mit Image AWT, Swing, JavaFX & SWT 7
A Skaliertes Image pixelweise bearbeiten AWT, Swing, JavaFX & SWT 6
L Swing Image zur Laufzeit verändern AWT, Swing, JavaFX & SWT 6
F SWT GC drawText auf halbtransparentem Image AWT, Swing, JavaFX & SWT 21
G Swing JEdtitorPane und HTML Image Seite AWT, Swing, JavaFX & SWT 2
C Image mit Graphics2D zeichnen AWT, Swing, JavaFX & SWT 9
C Image performant skalieren AWT, Swing, JavaFX & SWT 5
D SWT Image Farbtiefe AWT, Swing, JavaFX & SWT 2
L Swing Auf unabhängiges Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 8
lumo SWT Composite + Image + zeichnen AWT, Swing, JavaFX & SWT 4
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
D Image Viewer gesucht AWT, Swing, JavaFX & SWT 5
Kr0e Image schärfen AWT, Swing, JavaFX & SWT 2
R Bild drehen UND skalieren (Image bzw BufferedImage) AWT, Swing, JavaFX & SWT 5
T Image auf Image zeichnen AWT, Swing, JavaFX & SWT 2
E Warum ist offscreen (mit Image) schneller? AWT, Swing, JavaFX & SWT 11
G Swing Image speichern / 0 Byte AWT, Swing, JavaFX & SWT 7
H Image abspeichern AWT, Swing, JavaFX & SWT 4
B Swing Image als Hintergrund im JInternalFrame - Problem AWT, Swing, JavaFX & SWT 3
W Image in jar einbauen AWT, Swing, JavaFX & SWT 20

Ähnliche Java Themen

Neue Themen


Oben