Bilder im Panel einfügen

istel

Grünschnabel
Hallo zusammen,

auf diesem Wege versuche ich Bilder ins Panel einzufügen:

private JLabel lblImageEmpty;
private ImageIcon imIcEmpty = new ImageIcon("images/feld_leer.bmp");

JFrame window = new JFrame("Vier Gewinnt");
JPanel panel = new JPanel(new FlowLayout());

public Fenster
{
..
lblImageEmpty = new JLabel(imIcEmpty);
..
panel.setLayout(new FlowLayout());
panel.add(this.lblImageEmpty);
panel.setVisible(true);
window.setVisible(true);
}


..aber irgendwie klappt das nich. Also das Problem ist, dass mir beim Aufbau des Fensters kein Bild angezeigt wird.

Meine Frage ist jetzt: Wo genau müssen die Bilder liegen, damit sie auf den relativen Pfad "images/feld_leer.bmp" zutreffen?

Vielen Dank für die Bemühungen.
 
Hallo,

der Pfad muss in deinem Projektverzeichnis images/feld_leer.bmp lauten.

MFG

zEriX
 
Mit am einfachsten finde ich das einfügen von Bildern so:

Code:
JPanel panel = new JPanel()
{
  @Override
  public void paintComponent(Graphics g)
  {
    g.drawImage(new ImageIcon("der Bildpfad").getImage(),0,0,null);
  }
});

Du überschreibst also einfach die paint-Methode vom Panel und lässt darin das Bild zeichnen. Mit Label hab ich teilweise nämlich schon Probleme gehabt.

Gruß

taouri
 
private JLabel lblImageEmpty;
private ImageIcon imIcEmpty = new ImageIcon("http://www.tutorials.de/forum/images/feld_leer.bmp");

JFrame window = new JFrame("Vier Gewinnt");
JPanel panel = new JPanel(new FlowLayout());

public Fenster
{
..
lblImageEmpty = new JLabel(imIcEmpty);
..
panel.setLayout(new FlowLayout());
panel.add(this.lblImageEmpty);
panel.setVisible(true);
window.setVisible(true);
}

sollte eigentlich funktionieren das Problem wird sein das dein Bild nicht gefunden wird
hast du es mal mit einem absoluten Pfad versucht?
wenn das geht dann kannst du dir deinen Pfad auch mit
Code:
System.getProperty("java.class.path")
und diversen String operationen zusammenbauen.
das kommt dann aufs Gleiche raus wie eine relative Pfad angabe und bringt den Vorteil mit das du dir den Pfad ausgeben und dann auch leichter anpassen kannst.
 
Zuletzt bearbeitet:
also..das klappt auch nich so ganz..hab echt keine ahnung wo der fehler liegt..
wenns bei mir auf der Platte liegt, wie muss ich den Pfad angeben(backslash, slash, doppelslash wegen sonderzeichen?)
 
@taouri:
wie gehe ich mit dem Graphics-Element um? muss ich ein G-Objekt erstellen und da das Bild irgendwie reinpacken?
 
Hallo,

nein, du machst es genau wie es taouri gezeigt hat. Das Graphics-Object wird übergeben, da musst du dich nicht drum kümmern.

MFG

zEriX
 
Zurück