2016-07-06 14 views
0

Also ich bin neu in Java lernen einige Grundlagen von Videos auf YouTube, ich lerne, eine GUI/Fenster zu machen und im Moment versuche ich, iamges angezeigt werden, aber ich bin nicht sicher, ob der Code falsch/alt ist oder die Bilder nicht an der richtigen Stelle/am richtigen Ort sind. Hier ist, was ich bis jetzt geschrieben habe. Hilfe wäre sehr willkommen. Bitte und Danke.GUI Bild Anzeige Fehler

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

public class FirstGUI extends JFrame { 

    private static Object out; 
    private JLabel label; 
    private JButton button; 
    private JTextField textfield; 

    private ImageIcon image1; 
    private JLabel label1; 

    private ImageIcon image2; 
    private JLabel label2; 


    public FirstGUI() { 

     setLayout (new FlowLayout()); 

     label = new JLabel("Hi, I'm a label!"); 
     add(label); 

     textfield = new JTextField(15); 
     add(textfield); 

     button = new JButton("Click me!"); 
     add(button); 

     button = new JButton("No, CLICK ME!!"); 
     add(button); 

     label = new JLabel("This is the end of the program?"); 
     add(label); 



     image1 = new ImageIcon(getClass().getResource("Apiary.png")); 
     label1 = new JLabel(image1); 

     image2 = new ImageIcon(getClass().getResource("bee.png")); 
     label2 = new JLabel(image2); 
    } 



    public static void main(String[] args) { 

     FirstGUI gui = new FirstGUI(); 
     gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
//*  gui.setSize(400, 400); 
     gui.setVisible(true); 
     gui.setTitle("Hello World"); 
     gui.pack(); 



    } 

} 

Was ich in den Fehler bekommen sind:

Exception in thread "main" java.lang.NullPointerException

bei javax.swing.ImageIcon (Unknown Source)

.

bei FirstGUI. (FirstGUI.java:39)

bei FirstGUI.main (FirstGUI.java:50)

+0

HINWEIS: Dies funktioniert, bevor der Bildanzeigecode hinzugefügt wurde. – MattRivas

Antwort

0

Zuerst Sie fügen die Beschriftungen nicht in den Rahmen ein, selbst wenn das ausgeführt wird, werden die Bildsymbole nicht angezeigt. Also vergessen Sie nicht die Etiketten mit dem Rahmen hinzuzufügen:

add(label1); 
add(label2); 

Second Ich habe versucht, den Code und es funktionierte gut für mich, es nur den Fehler gedruckt Sie erwähnt, wenn ich nicht das Bildsymbol importiert wurden um das Paket in arbeite ich Dazu Sie dies tun müssen:

Rechtsklick auf Ihrem src Paket-> Einfuhr> Allgemein -> Dateisystem und dann next klicken und das Verzeichnis auswählen, enthält. Klicken Sie auf OK und fügen Sie die Bilder hinzu, die Sie im Code angegeben haben.

+0

Ich habe versucht, das zu tun, was du gesagt hast. Ich habe herausgefunden, wie man die Bilder zeigt und importiert, wie du gesagt hast. Dann habe ich versucht, Labels hinzuzufügen, wie du sagtest, und das ist der Teil in dem Code, dem ich es hinzugefügt habe. http://pastebin.com/ynfqiE5F Aber nach dem Ausführen bekomme ich diesen Fehler. Ausnahme im Thread "Haupt" java.lang.NullPointerException \t bei javax.swing.ImageIcon. (Unbekannte Quelle) \t bei FirstGUI. (FirstGUI.java:39) \t bei FirstGUI.main (FirstGUI.java:52) Sorry, wenn der Kommentar zu spät ist, muss ich in einer anderen Zeitzone sein. – MattRivas

+0

Der Code in pastebin.com/ynfqiE5F ist anders, weil er die vollständige URL angibt (image1 = new ImageIcon (getClass(). GetResource (/ FirstGUI/src/assets/images/Apiary.png));) ', Verwenden Sie einfach den von Ihnen erwähnten Code nur mit dem Namen des Bildes. Nachdem Sie die Bilder Apiary.png und bee.png in das Paket mit den Klassen importiert haben, müssen Sie die vollständige URL nicht mehr angeben. –

+0

http://pastebin.com/5Nw7VfA5 Auch dann bekomme ich das gleiche Problem. – MattRivas