Image laden

radical_edward

Aktives Mitglied
Hi.
Java:
Image img = getToolkit().getImage("05.jpg");
Code ist ja soweit in Ordnung. Aber passiert trotzdem nicht...
Wo muss das Image liegen damit es gefunden wird? Ist die Grösse wichtig?
Danke!
 
Bei
Java:
ImageIcon icon = new ImageIcon("05.jpg");
muss es bei Eclipse im Projektordner(also vor src und bin) liegen und wenn du es als JAR expotierst im gleichen Ordner

und bei
Java:
ImageIcon icon = new ImageIcon(getClass().getResource("05.jpg"));
muss es bei den Klassendateien(also im bin und dann das package) liegen.
Wenn du es so exportierst kann das Bild in der JAR-Datei liegen.
 
Die Lösung der Beiden eignet sich besonders für die Anzeige von Bildern und Icons auf Komponenten wie JButton oder JLabel.
Wenn du bspw. ein Hintergrundbild zeichnen möchtest, ist diese Variante aber ungeeignet.
 
Müsste es nicht eigentlich so lauten (ich glaube, da habe ich einen kleinen Fehler gemacht):
Java:
Icon icon = new ImageIcon("bild.png");
 
Hi,

wir haben ein Problem mit unserer GUI. Wir haben ein BorderLayout und kriegen es nicht hin, dass in EAST ein Bild angezeigt wird. Haben google und diverse Foren bereits überstrapaziert und alles ausprobiert, was dort vorgeschlagen wurde. Aber es hat nie funktioniert, das Bild wird einfach nicht angezeigt. Sind am Verzweifeln, weil es ´ne Kleinigkeit ist, die einfach aufhält. Wir hoffen, ihr könnt uns helfen. Vielen Dank im Voraus! Hier unser bisheriger Quellcode:

Java:
 import javax.swing.*;
import java.awt.*;

public class OurGUI extends JFrame
{
private JButton button1;
    private JButton button2;
    private JButton button3;
    private JButton button4;
    private JButton button5;
    private JPanel panelButton;
    private JLabel oben;
    private JLabel label;
    private JPanel bild;
    private ImageIcon icon;
       
	public OurGUI()
      {
              super();
              setTitle ("Willie-Wurm");
              setSize(600,700);
              setLocation(300,0);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setLayout(new BorderLayout(5,5));
              
            //Buttons erzeugen
              button1 = new JButton("Spielen");
              button2 = new JButton("Spielregeln");
              button3 = new JButton("Highscore");
              button4 = new JButton("Einstellungen");
              button5 = new JButton("About");

              //Panels erzeugen
              GridLayout gl = new GridLayout(5,1) ; 
            gl.setHgap(100);
            
              panelButton = new JPanel(gl);
              JPanel bild = new JPanel ();
                        
              //Bild importieren

              ImageIcon icon = new ImageIcon("Willie-Wurm.jpg");
             
              //Buttons auf Panel
              panelButton.add(button1);
              panelButton.add(button2);
              panelButton.add(button3);
              panelButton.add(button4);
              panelButton.add(button5);

              //Labels erzeugen
              oben = new JLabel("Willie-Wurm");
              JLabel label = new JLabel( icon, JLabel.CENTER);
              
              //Label zentrieren
              oben.setHorizontalAlignment(JLabel.CENTER); 
              
            
              bild.add(label);

              //Labels auf Frame 
              getContentPane().add(BorderLayout.NORTH, oben);
             
              //Panels auf Frame  
              getContentPane().add(BorderLayout.WEST, panelButton);
              getContentPane().add(BorderLayout.EAST, bild);
              
              setVisible(true);
      }	

}
 
versuch mal

ImageIcon icon = new ImageIcon(getClass().getResource("/Willie-Wurm.jpg"));

und achte drauf, dass das Bild im src Ordner liegt
 
Zuletzt bearbeitet:
Vielen Dank für die schnelle Antwort! Offensichtlich - warum auch immer - lag es am Bild. Wir haben jetzt ein anderes Bild genommen, abgespeichert und plötzlich hat´s funktioniert.
 

Neue Themen


Zurück
Oben