2016-07-06 2 views
0

Итак, я новичок в Java, изучая некоторые основы из видео на YouTube, я учусь сделать GUI/Window, и в настоящий момент я пытаюсь отобразить iamges, но я не уверены, что код неправильный/старый или изображения не находятся в нужном месте/месте. Вот что я написал до сих пор. Помощь будет высоко оценена. Пожалуйста и спасибо.Ошибка отображения изображения GUI

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(); 



    } 

} 

Что я получаю в ошибки являются:

Исключение в потоке "главный" java.lang.NullPointerException

на javax.swing.ImageIcon (Unknown Source)

.

at FirstGUI. (FirstGUI.java:39)

at FirstGUI.main (FirstGUI.java:50)

+0

ПРИМЕЧАНИЕ. Это работало до того, как был добавлен код изображения. – MattRivas

ответ

0

Первый вы не добавляете метки к кадру, поэтому даже если это выполняется, они не будут отображаться значками изображений. Так что не забудьте добавить метки к каркасу:

add(label1); 
add(label2); 

Второй Я попробовал ваш код и он работал отлично для меня, это только напечатал сообщение об ошибке вы упомянули, когда я не импортировать изображения иконки к пакету я работаю в для этого вам нужно сделать, это:

правой кнопкой мыши на вашем ЦСИ пакет-> импортно> Общие -> Система файла, а затем нажмите next и выберите каталог, который содержит. изображения, нажмите «ОК», а затем добавьте изображения, указанные в коде.

+0

Я пытался сделать то, что вы сказали, я узнал, как указывать изображения и импортировать их, как вы сказали, затем я попытался добавить ярлыки, как вы сказали, и это часть кода, в который я его добавил. http://pastebin.com/ynfqiE5F Но после запуска я получаю эту ошибку. Исключение в теме "main" java.lang.NullPointerException \t at javax.swing.ImageIcon. (Неизвестный источник) \t at FirstGUI. (FirstGUI.java:39) \t at FirstGUI.main (FirstGUI.java:52) Извините, если комментарий не подходит, я должен быть в другом часовом поясе. – MattRivas

+0

Код в pastebin.com/ynfqiE5F отличается тем, что он задает полный URL ('image1 = новый ImageIcon (getClass(). GetResource ("/FirstGUI/src/assets/images/Apiary.png "));)', просто используйте код, о котором вы упомянули, только с именем изображения. После импорта изображений Apiary.png и bee.png в пакет, в котором есть классы, нет необходимости указывать полный URL. –

+0

http://pastebin.com/5Nw7VfA5 Даже тогда у меня такая же проблема. – MattRivas

Смежные вопросы