2016-05-23 6 views
2

Ich lerne gui in JAVA zu machen, und ich versuche, ein Bild in meinem JFrame hinzufügen, das ist der Code, den ich versuchte:Java: kann nicht das Bild anzeigen in JFrame

public class MyApp extends JFrame { 

    private ImageIcon img; 
    private JLabel imglabel; 

    public MyApp(){ 
     setLayout(new FlowLayout()); 

     img = new ImageIcon(getClass().getResource("img.jpg")); 
     //adding the label for the above Icon 
     imglabel = new JLabel("this is the image"); 
     add(imglabel); 
    } 

    public static void main(String[] args) { 
     MyApp app = new MyApp(); 
     app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     app.pack(); 
     app.setVisible(true); 
     app.setTitle("reminder"); 
    } 
} 

aber ich kann kein Bild auf dem Bildschirm angezeigt werden! Was habe ich falsch gemacht?

auch das Bild und die Klasse im selben Verzeichnis:

Danke für die Hilfe :)

+0

Ist das Bild im gleichen Verzeichnis wie die Klasse? Wenn es ein Glas ist, ist das Bild im Glas enthalten? – MadProgrammer

+0

Ja, es ist im selben Verzeichnis. siehe die Bearbeitung –

Antwort

2

Das Symbol wird nie gesetzt!

imglabel = new JLabel("this is the image"); 

Sollte sein ..

imglabel = new JLabel("this is the image"); 
imgLabel.setIcon(img); // or use the 3 arg constructor for JLabel 
+0

sollte es "imglabel" sein, denke ich, und tut mir leid, aber es funktioniert nicht Kumpel! –

+0

OK .. Anstatt ein Bildsymbol zu verwenden, um das Bild zu laden, verwenden Sie 'ImageIO.read (URL)' - es wird hilfreiche Informationen liefern, wenn es das Bild nicht finden oder laden kann. –

+0

geändert: 'imglabel.new JLabel (" das ist der img ")' zu 'imgbel = new JLabel (img)' und es hat funktioniert! Danke für die Hilfe –