2015-02-20 2 views
0

Я все еще довольно новичок в Java, и в нашем классе программирования мы работаем в группе. Моя часть задания - вставить изображение в верхнюю часть графического интерфейса.Добавление изображения в графический интерфейс, созданный с помощью Eclipse

это код, который я до сих пор ..

ImageIcon image = new ImageIcon(getClass().getResource("EXTS.png")); 
    JPanel.add(image, BorderLayout.NORTH); 

но прямо под .Add части Jpanel.add является то, что красная волнистая линия говорит мне, что я должен изменить свое изображение на компонент и когда я это делаю, он говорит мне переключить его обратно на изображение? это то, что я запутался в том, почему он сказал мне изменить его обратно, если он не будет использовать его так, как сейчас? Итак, я думаю, мой вопрос: что мне делать, чтобы исправить эту проблему?

Также точно, как бы я его позиционировал, я знаю, что он входит в место расположения на Севере, но будет ли это мертвым центром? или он начинается с 0,0 верхних левых и затем пикселей?

Благодарим вас за продвинутый!

(постскриптум это путь к файлу изображения, если оно должно быть другим, пожалуйста, скажите мне, в противном случае это хорошо - Проект 3/Images/EXTS.png)

+2

Читать учебники - вы можете установить ** ** в JLabel с ImageIcon, а не JPanel по телефону лейбла 'SetIcon (...)' метод. Затем добавьте JLabel в ваш JPanel. Но не догадывайтесь об этом (как вы это делаете), поскольку это никогда не срабатывает. Учебники легко найти - просто Google, Java Swing Tutorial и проверьте первый хит. –

+0

Я на самом деле не догадываюсь, я зашел так далеко, чтобы купить книгу Java для чайников, которая очень помогла мне в определенной функции, которую я не понимал. У меня есть аналогичные вопросы о добавлении фотографий, и каждый придумал этот похожий код. – ChrisHoward

+1

* «У меня есть аналогичные вопросы о добавлении изображений, и все придумывают этот похожий код». * Укажите ссылки для 3 из них. –

ответ

4

Икона не является компонентом. Вы должны добавить иконку к компоненту, как JLabel:

ImageIcon image = new ImageIcon(getClass().getResource("EXTS.png")); 
//JPanel.add(image, BorderLayout.NORTH); 
JPanel.add(new JLabel(image), BorderLayout.NORTH); 
1

Предполагая, что путь к изображению правильно, вы должны использовать JLabel, чтобы показать изображение. См. How to Use Labels для более подробной информации.

Я бы также рассмотреть возможность использования ImageIO прочитать изображение вместо ImageIcon в ImageIO выбросит IOException, если изображение не может быть загружена по какой-то причине. См Reading/Loading an Image для более deatils

ImageIcon image = new ImageIcon(
      ImageIO.read(getClass().getResource("/EXTS.png"))); 
JPanel.add(new JLabel(image), BorderLayout.NORTH); 
Смежные вопросы