Hallo,
habe mehrere Beiträge zu dem Thema hier gelesen und versucht den Fehler zu finden, aber es funktioniert nicht. Mein Code lautet:
habe mir eine Klasse PicturePanel geschrieben wie folgend;
In der Klasse, wo ich das haben will, erstelle ich dann ein Object der Klasse:
stimmenIcon ist hierbei ein JPanel, dass ich bereits eingebaut habe, und in diesem das Bild angezeigt werden soll.
Allerdings bleibt dieses JPanel leer, wenn ich die Befehle ausführe.
Was mach ich falsch, verzweifle langsam
Vielen Dank für eure Hilfe
habe mehrere Beiträge zu dem Thema hier gelesen und versucht den Fehler zu finden, aber es funktioniert nicht. Mein Code lautet:
habe mir eine Klasse PicturePanel geschrieben wie folgend;
Code:
class PicturePanel extends JPanel {
private Image image;
public PicturePanel(String bild) {
super(new GridBagLayout());
try {
image = ImageIO.read(getClass().getResource(bild));
}
catch(IllegalArgumentException iae) {
JOptionPane.showMessageDialog(this, "Grafikdatei nicht gefunden!\n"+iae.getMessage());
}
catch(IOException ioe) {
JOptionPane.showMessageDialog(this, "Fehler beim Einlesen einer Grafikdatei!\n"+ioe.getMessage());
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(image != null) { //Bild muss im Speicher liegen, sonst wird nichts gezeichnet
g.drawImage(image, 0, 0, this);
}
}
}
In der Klasse, wo ich das haben will, erstelle ich dann ein Object der Klasse:
Code:
stimmenIcon.setLayout(new FlowLayout());
PicturePanel picture = new PicturePanel("Piccolo.png");
stimmenIcon.add(picture);
stimmenIcon ist hierbei ein JPanel, dass ich bereits eingebaut habe, und in diesem das Bild angezeigt werden soll.
Allerdings bleibt dieses JPanel leer, wenn ich die Befehle ausführe.
Was mach ich falsch, verzweifle langsam
Vielen Dank für eure Hilfe