Мне нужно отобразить изображение из моей файловой системы. Изображение хранится на -
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.
Комментируя строку # 2 в коде то есть -
l.setIcon(image);
я получаю тот же результат, вместо двух простых JLabels
Комментируя обе линии # 1 и строка # 2 , Я получаю две метки (одну пустую), как показано ниже.
Как отобразить изображение правильно с другим лейблом? Что может быть проблемой здесь?
Что 'System.out.println (. Новый файл() существует ("C: \\ Users \\ Акшай \\ Desktop \\ allfiles \\ sampleposter.jpg"));' печать? Вы также установили 'BorderLayout.CENTER' (значение по умолчанию) как для' JLabels'. – Xeon
Вы добавляете компоненты * после того, как '' JFrame' был реализован (т. Е. Стал видимым). Вы должны добавить эти компоненты перед тем, как это сделать, иначе вам нужно «revalidate' /' validate »и выпустить« repaint »в контейнере. – mre
@Xeon Это возвращает true. –