# Bild in ein JPanel einfügen



## qbopa (11. Dez 2007)

Hi, wie kann ich ein Bild in ein JPanel einfügen?

Ich habe es mit folgendem probiert: (wenn nötig poste ich auch den ganzen quelltetxt)
haut aber irgendwie nicht hin^^


```
JFrame fenster;
Grapics grafik;
JPanel meinJPanel;
Image bild;

Toolkit toolkit =Toolkit.getDefaultToolkit();
bild=toolkit.getImage("meinBild.jpg");
meinJPanel.paintcomponent(grafik.drawImage(bild,0,0,meinJFrame));
```


----------



## DocRandom (11. Dez 2007)

...ä'hm wie wäre es mit einer Forensuche?
Bei 455 Einträgen wird wohl auch für Dich was dabei sein!

lg
DocRandom


----------



## qbopa (11. Dez 2007)

Danke für die große Hilfe, aber auf die idee bin ich auch schon gekommen ^^.
Hab auch schon ordentlich gegoogled aber die lösungen bei google sind immer die bilder in JLabels zu laden und das kann ich nicht machen.

Wo liegt denn der Fehler bei meinem Code?


----------



## Quaxli (11. Dez 2007)

DocRandom hat Recht!  :### 

Aber weil ich gerade gut drauf bin  :


```
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;


//pic erbt von Panel - spart eine Klasse
public class PicPanel extends JPanel{

	private static final long serialVersionUID = 1L;
	BufferedImage pic;  //BufferedImage zum Speichern des Bildes

	public static void main(String[] args) {
	   new PicPanel();
	}
	
	public PicPanel(){
		
		//Bild in eigenem Unterordner. Unterordner befindet sich im Verzeichnis der Class-Dateien
		//Mit URL laden funktioniert immer auch im JAR, etc.
		URL pic_url = this.getClass().getClassLoader().getResource("pic/test.jpg"); //kein Slash vor dem Unterordner!
		
		//Bild laden mit ImageIO
		try {
			pic = ImageIO.read(pic_url);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		//Frame anlegen - JPanel(dieses) reinpacken.
		JFrame frame = new JFrame("Bild in Frame die x-te");
		frame.setLocation(100,100);
		frame.setSize(200,200);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.add(this);
		frame.setVisible(true); //wichtig - setVisible(true) zuletzt
	}

	//paintComponent überschreiben, Image zeichnen, super-Aufruf nicht vergessen
	@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		g.drawImage(pic,20,20,this);
		
	}

}
```


----------



## qbopa (12. Dez 2007)

ah sehr cool danke.
jetzt weis ich auch wo bei mir der fehler lag 

thx


----------



## sliwalker (12. Dez 2007)

....und so kommen iregndwann 1000 Ergebnisse bei der Suche zustande und es gibt immer noch welche, die diese Fragen beantworten.

Faulheit sollte nicht unterstützt werden!


----------



## Quaxli (12. Dez 2007)

Ich hatte bei der Suche auch nicht auf Anhieb was konkretes gefunden


----------



## sliwalker (12. Dez 2007)

Quaxli hat gesagt.:
			
		

> Ich hatte bei der Suche auch nicht auf Anhieb was konkretes gefunden



Meine es ja auch nicht böse Dir gegenüber...
..aber hab gerade auch mal gesucht und hab eingebene "Bild auf JPanel". Da kam an ca. 10 Position genau das:
Hintergrundgrafik auf Jpanel

mehr braucht man ja wohl nicht oder?
Und auf den zig Seiten danach ist bestimmt auch was zu finden, denn als ich hier neu war, habe ich auch mal ein Problem damit gehabt und meinen schon funktionierenden code eingefügt...
...also mindestens zwei Lösugen sind hier zu finden...und das mit sprechenden namen.

Es ist aber immer so, dass gar nicht erst gesucht wird und dann gesagt wird: "Doch ich habe gesucht und nix gefunden". Nix gefunden? Das Forum hat 100 000 de von Einträgen, eine FAQ usw...es gibt Guido und Galileo und das API...man...wer da nix findet, mit Betonung auf nix, dann weiß ich auch nicht.

Man wird seinen ganz speziellen fall nicht finden, aber wie mein lehrer immer sagte: "Ihr müsst eine Transferleistung" erbringen" 

War aber nix gegen Dich, ehrlich...


greetz
SLi


----------



## qbopa (12. Dez 2007)

Naja ^^ ich habe auch zig varianten versucht zu übertragen ^^ aber wie soll ichs sagn. es hat halt keine hingehauen ^^.

Hab auch schon zuvor gegoogled und da gabs auch 100 antworten. 90 % mit : machs doch als image icon in ein label ^^. und die anderen 10% waren so unverständlich dass ichs gar nicht gebklcikt hab. Bei der Forensuche kam ich auch auf etliche versionen. aber beim übertragen hats dann auch irgendwann gescheitert .

Da danke ich jetzt mal ganz brav dem Quaxli für die schnelle Hilfe    
 *Daumen hoch* ^^


----------



## Quaxli (12. Dez 2007)

> War aber nix gegen Dich, ehrlich...



So hatte ich es auch nicht aufgefasst. 
Wo Du dazu auch noch Recht hast.


----------

