Hi,
ich such schon seit mehreren Stunden (4 um genau zu sein) nach einer Lösung ein Bild in ein JPanel zu laden. Hab mehrere Varianten versucht (ImageIcon, MediaTracker, ImageIO,...) keine hat gefunzt. Ich will einfach nur ein kleines PNG-Bild in das JPanel zeichnen. Wieso funzt das bei mir nicht? Alles was beim Ausführen kommt ist entweder ne Exception (ImageIO) die meint:"Can't read input file!". Oder ich bekomm nur nen hässlichen grauen Hintergrund.
Und nochmal JA ich hab gegoogelt und die Boardsuche benutzt (ich kann euch von mir aus alle Links geben die ich angeklickt hab...).
PS: Das Bild befindet sich im selben Ordner wie die Source
ich such schon seit mehreren Stunden (4 um genau zu sein) nach einer Lösung ein Bild in ein JPanel zu laden. Hab mehrere Varianten versucht (ImageIcon, MediaTracker, ImageIO,...) keine hat gefunzt. Ich will einfach nur ein kleines PNG-Bild in das JPanel zeichnen. Wieso funzt das bei mir nicht? Alles was beim Ausführen kommt ist entweder ne Exception (ImageIO) die meint:"Can't read input file!". Oder ich bekomm nur nen hässlichen grauen Hintergrund.
Und nochmal JA ich hab gegoogelt und die Boardsuche benutzt (ich kann euch von mir aus alle Links geben die ich angeklickt hab...).
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package graphics;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author HEADSHOT
*/
public class Test1 extends JPanel
{
@Override
public void paint(Graphics g)
{
Image img;
String imgPfad = "abc.jpg";
Toolkit toolkit = Toolkit.getDefaultToolkit();
MediaTracker md = new MediaTracker(this);
img = toolkit.getImage(imgPfad);
md.addImage(img, 0, 300, 300);
if (img != null)
{
System.out.println("Das Bild ist vorhanden!");
g.drawImage(img, 100, 100, this);
System.out.println("Blub");
}
}
public static void main(String[] args)
{
JFrame frame = new JFrame("Test1");
frame.getContentPane().add(new Test1());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
PS: Das Bild befindet sich im selben Ordner wie die Source