2013-05-31 4 views
1

Мне нужно отобразить изображение из моей файловой системы. Изображение хранится на -
C: \ Users \ Акшай \ Desktop \ allfilesJframe становится пустым при добавлении изображения

Соответствующий код (прокручивать направо):

JFrame frame = new JFrame(); 
    frame.setExtendedState(frame.getExtendedState()|JFrame.MAXIMIZED_BOTH); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 
    frame.setLayout(new FlowLayout()); 

    JLabel title = new JLabel("Image : "); 
    ImageIcon image = new ImageIcon("C:\\Users\\Akshay\\Desktop\\allfiles\\sampleposter.jpg"); //line #1 
    JLabel l = new JLabel(""); 
    l.setIcon(image); // line #2 
    frame.add(title); 
    frame.add(l); 

Ниже приводится выход. Я получаю пустой кадр вместо двух jlabels.

enter image description here

Комментируя строку # 2 в коде то есть -

l.setIcon(image); 

я получаю тот же результат, вместо двух простых JLabels

Комментируя обе линии # 1 и строка # 2 , Я получаю две метки (одну пустую), как показано ниже.

enter image description here

Как отобразить изображение правильно с другим лейблом? Что может быть проблемой здесь?

+0

Что 'System.out.println (. Новый файл() существует ("C: \\ Users \\ Акшай \\ Desktop \\ allfiles \\ sampleposter.jpg"));' печать? Вы также установили 'BorderLayout.CENTER' (значение по умолчанию) как для' JLabels'. – Xeon

+1

Вы добавляете компоненты * после того, как '' JFrame' был реализован (т. Е. Стал видимым). Вы должны добавить эти компоненты перед тем, как это сделать, иначе вам нужно «revalidate' /' validate »и выпустить« repaint »в контейнере. – mre

+0

@Xeon Это возвращает true. –

ответ

3
  • Вы добавили JLabel title = new JLabel («Изображение:»); к уже видимому GUI Swing, после setVisible (true); был вызван,

  • перемещать коды кода, создавая JLabel с ImageIcon до frame.setVisible (true);

  • Код перевода строки frame.setLayout (новый FlowLayout()); до frame.setVisible (true);

+0

Спасибо @mKorbel Это решило проблему. –

+0

добро пожаловать – mKorbel

+0

+1, Хороший улов с настройкой менеджера компоновки перед тем, как реализовать контейнер. – mre

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