Image laden und auf jPanel ausgeben

leisure

Mitglied
Hallo,
ich habe (mit Netbeans) ein jFrame erzeugt und darauf u.a. ein jPanel abgelegt, auf dem jPanel sollen Bilder dargestellt werden.
Die Bilder sind als *.gif im selben Ordner wie der Quelltext des jFrame.

Der Code sieht vereinfacht so aus:

Java:
Graphics g=jPanel.getGraphics();
Image img=getToolkit.getImage("links.gif");
g.drawImage(img,20,20,jPanel);

Ich erhalte bei Ausführen des Programms keine Fehlermeldung, allerdings wird das Bild nicht auf dem Panel angezeigt.
 

Monaria

Aktives Mitglied
Gezeichnet wird normal in der paintComponent (bzw. paint wenn man nicht Swing benutzt) Methode einer Komponente, da diese Methode beim Neuzeichnen aufgerufen wird, wohingegen die Methode mit getGraphics() nur eine temporäre Veränderung bewirkt. Dazu muss man eine Klasse von einer Komponente ableiten und diese Methode überschreiben.
Das sieht dann in etwa so aus:
Java:
class MyPanel extends JPanel{
	private Image bild;
		
	public MyPanel(){
		bild = Toolkit.getDefaultToolkit().getImage("Bild.jpg");
	}
		
	public void paintComponent(Graphics g){
		g.drawImage(bild, 0, 0, this);
	}
}

Von der Klasse fügst du dann eine Instanz in deinen JFrame.
Hier solltest du bei Gelegenheit mal reinschauen: Java ist auch eine Insel - Grafikprogrammierung
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Wenn es NUR um das GANZ einfache Anzeigen des Bildes geht, könntest du auch ein ImageIcon nehmen. Bei allem, was darüber hinausgeht, solltest du sagen, was du vorhast.
 

leisure

Mitglied
Hallo Monaria und Marco13,

Danke für euere Beiträge. Mein Problem ist, dass ich mit Netbeans arbeite, also mein jPanel hübsch mit der Maus auf dem jFrame platziert habe.
Eine von jPanel abgeleitete Klasse müsste ich jetzt selbst "anmelden", positionieren etc. oder den Quelltext im geschützten Bereich des generierten Codes ändern. Beides kann ich bislang nicht.

Was ich mit dem Programm will? Es existiert eine Klasse "Musiker", die zwei Bilder besitzt (2 mals das gleiche Bild, aber gespiegelt). Die Musiker werden in einer Liste verwaltet und die Bilder auf dem jPanel angezeigt (so der Plan). Dann sollen damit verschiedene Listenoperationen demonstriert werden. Im Prinzip habe ich das Programm für eine an Schule angepasste Programmierumgebung schon geschrieben. Ich möchte mich aber davon lösen und diese Umgebung durch Netbeans ersetzen. Aber da habe ich noch einiges zu lernen.
 

Marco13

Top Contributor
Die Intention, die "an Schule angepasste Programmierumgebung" hinter sich zu lassen ist gut. Wirklich sinnvoll ist das aber IMHO nur dann, wenn man komplett auf irgendwelche GUI-Designer verzichtet, und alles von Hand schreibt. (Sonst kennt man sich am Ende auch nicht mit Swing aus, sondern nur mit dem GUI-Designer - und wenn es um mehr geht, als das Zusammenklicken eines Standard-Dialogs stößt man mit diesen Designern schnell an Grenzen. Der generierte Code ist i.a. schlecht wartbar und schlecht erweiterbar.).

Ich würde mal bei Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials) reinschauen. Es spricht IMHO nichts dagegen, sich gleich am Anfang sowas wie Lesson: Using Swing Components (The Java™ Tutorials > Creating a GUI With JFC/Swing) bzw. How to Use Buttons, Check Boxes, and Radio Buttons (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components) anzusehen, und mal ein paar Beispiele von dort zu überfliegen. (Die Erklärungen zu den einzelnen Components sind sehr ausführlich, das braucht man für den Anfang nicht alles haarklein zu lesen...)
 

leisure

Mitglied
Hallo Marco13,

du hast zwar recht, aber es sind halt nur 2 Wochenstunden Informatik und Dank Zentralabitur ist der Stoffumfang nicht unerheblich. Da ist es schon sinnvoll, sich mit Netbeans die Kleinarbeit etwas vom Hals zu halten und sich dafür auf die Objektorientierung zu konzentrieren.
 
B

bERt0r

Gast
Darum Marcos erster Vorschlag:
Java:
ImageIcon icon=new ImageIcon(bild);
JLabel bildLabel=new JLabel(icon);
this.add(bildLabel);      //dieses this bezieht sich auf dein JPanel
 

leisure

Mitglied
Hallo Leute,

Danke für Eure Beiträge, die waren für mich sehr hilfreich, auch wenn mein Problem eigentlich gar nicht existierte. Da ich die Bildnamen ohne Pfadangabe angegeben hatte, suchte Netbeans im Projektordner und nicht im Sourcecode-Ordner, wo sie tatsächlich lagen. So funktioniert jetzt mein Code erst mal, aber natürlich muss dass mit repaint() oder paintCompomponent() noch irgendwie gelöst werden, damit nicht bei jeder Änderung des Frames die Bilder verwschwinden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K File (png) in Image laden Java Basics - Anfänger-Themen 3
H Image laden Java Basics - Anfänger-Themen 4
B Image laden im GridBagLayout Java Basics - Anfänger-Themen 3
S Image in Panel laden Java Basics - Anfänger-Themen 12
R Image laden die Zweite Java Basics - Anfänger-Themen 4
R Image laden Java Basics - Anfänger-Themen 10
R Image aus jar laden (dieses mal awt) Java Basics - Anfänger-Themen 19
G Image laden Java Basics - Anfänger-Themen 16
O Image laden Java Basics - Anfänger-Themen 6
M Laden eines Image mit relativer Pfadangabe Java Basics - Anfänger-Themen 3
lin Image pixelweise in 3D Array laden Java Basics - Anfänger-Themen 4
K Bild in Image-Objekt laden Java Basics - Anfänger-Themen 27
E Image aus PostGreSQL Datenbank in Report einfügen Java Basics - Anfänger-Themen 2
G Area mit Teil-Image füllen Java Basics - Anfänger-Themen 0
B Image Matching in Memory Minigame Java Basics - Anfänger-Themen 7
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
Butzibu Image Loader lädt nicht alle Bilder: Java Basics - Anfänger-Themen 4
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
T Image Icon Java Basics - Anfänger-Themen 3
M Image löschen Java Basics - Anfänger-Themen 2
G Image in Vordergrund Java Basics - Anfänger-Themen 3
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
S Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren Java Basics - Anfänger-Themen 16
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
R Image drehen Java Basics - Anfänger-Themen 1
R Image Teilen Java Basics - Anfänger-Themen 3
N Image von Resource wird nicht geladen Java Basics - Anfänger-Themen 2
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
F Image wird nicht gezeichent?! Java Basics - Anfänger-Themen 21
N Hintergrund image mit .setContentPane Java Basics - Anfänger-Themen 6
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
S buffered image Java Basics - Anfänger-Themen 18
V Scale displayed Image via JCheckBox Java Basics - Anfänger-Themen 1
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
S Image nach MausMotion rotieren Java Basics - Anfänger-Themen 7
L Erste Schritte Java Image und Video-Slideshow GUI Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
H Prüfen, ob jpg image schon vorhanden ist, bevor es geladen wird Java Basics - Anfänger-Themen 13
V Image Crawler Java Basics - Anfänger-Themen 3
P Erste Schritte Buffered Image splitten und darstellen Java Basics - Anfänger-Themen 2
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
A Image (Bitmap) in String (für XML) Java Basics - Anfänger-Themen 7
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
T Image ist Null - warum? Java Basics - Anfänger-Themen 18
V Image -> 2D Array (int [][]) Java Basics - Anfänger-Themen 4
V FileInputStream auf ein swt.Image Java Basics - Anfänger-Themen 6
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
F Image übertragen und zeichnen Java Basics - Anfänger-Themen 8
G Problem mit Image.IO.read( File ) Java Basics - Anfänger-Themen 3
G Image spiegeln Java Basics - Anfänger-Themen 17
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
Spin Image helper Java Basics - Anfänger-Themen 6
M Image Metadaten setzen Java Basics - Anfänger-Themen 2
Spin Backgrond Color von Image ermitteln Java Basics - Anfänger-Themen 2
C Image draw... Java Basics - Anfänger-Themen 7
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
J Image upload auf ImageShack,TinyPic usw. Java Basics - Anfänger-Themen 11
M Image zeichenen mit Double Werten Java Basics - Anfänger-Themen 4
B polyline auf buffered image malen Java Basics - Anfänger-Themen 2
G Image to File Java Basics - Anfänger-Themen 4
T Image Position erkennen Java Basics - Anfänger-Themen 6
Spin Image skalieren Java Basics - Anfänger-Themen 2
Spin Background Image Java Basics - Anfänger-Themen 2
K Image / drawImage Java Basics - Anfänger-Themen 2
P Buffered Image, Bereich ausschneiden Java Basics - Anfänger-Themen 3
F Image Editor Java Basics - Anfänger-Themen 2
B Image flimmert Java Basics - Anfänger-Themen 4
Povlsen84 Image exakt erzeugen Java Basics - Anfänger-Themen 5
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
X ARGB Werte auslesen aus Image Java Basics - Anfänger-Themen 2
O Image Loader laedt bild nicht Java Basics - Anfänger-Themen 11
H String to image! Java Basics - Anfänger-Themen 6
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
M Probleme mit Manifest und Image Java Basics - Anfänger-Themen 2
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
E Image in Datei speichern bzw anzeigen Java Basics - Anfänger-Themen 5
O Drag & Drop mit Image? Java Basics - Anfänger-Themen 2
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
M Image aus JPanel Java Basics - Anfänger-Themen 2
G Kompletten (image) Array löschen Java Basics - Anfänger-Themen 14
P Fileinputstream to image? Java Basics - Anfänger-Themen 3
G Image Problem Java Basics - Anfänger-Themen 5
G Image Java Basics - Anfänger-Themen 3
M draw.Image Java Basics - Anfänger-Themen 11
G Image Java Basics - Anfänger-Themen 2
S Image-Datei mit relativem Pfad angeben Java Basics - Anfänger-Themen 3
S Botton und Image kombinieren Java Basics - Anfänger-Themen 3
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
D Image drehen Java Basics - Anfänger-Themen 6
DeeDee0815 Uncaught error fetching image Java Basics - Anfänger-Themen 2
A Image erstellen Java Basics - Anfänger-Themen 3
N Grösse eines Image ändern? Java Basics - Anfänger-Themen 4
I Image Dateinformationen auslesen Java Basics - Anfänger-Themen 7
A image uploader applet Java Basics - Anfänger-Themen 10
S image speichern Java Basics - Anfänger-Themen 12
D ImageIO metadata auslesen aus png image Java Basics - Anfänger-Themen 2
G Ausmaße eines Image-Object herrausfinden Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben