Я пытаюсь отобразить Загрузка изображения в новом JFrame, когда пользователь нажимает на определенную кнопку в моем приложении. Отображается JFrame, но ничего не отображается !, также с фоном WHITE, тогда как все JFrames имеют серый фон по умолчанию. Что здесь не так?Jframe Содержание не отображается
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
analyzer.running=false;
JFrame Load1=new JFrame("Load1");
ImageIcon icon1=new ImageIcon("./ajax-loader.gif");
System.out.println(icon1.getIconHeight());
Load1.add(new JLabel("Retrieving...", icon1, JLabel.CENTER),BorderLayout.CENTER);
Load1.pack();
Load1.setSize(400,400);
Load1.setVisible(true);
System.out.println("Start Processing");
parser.parse(); // Time Consuming method
nw_Creator.create();
System.out.println("End Processing");
Load1.setVisible(false);
home.setVisible(false);
screen2.setVisible(true);
}
});
Я не вижу значка, добавляемого в JFrame в вопросе? – vaisakh
Извините за это, я просто вставил соответствующий код. Исправлена эта строка по ошибке. – nikel
Это не ответ на ваш вопрос, но я замечаю, что вы вызываете как pack(), так и setSize(). Вызов обоих этих методов неуместен. Вызовите либо pack(), либо setSize(), но не оба. Метод pack() будет устанавливать размер на основе содержимого. Редкие случаи, когда размер содержимого не может быть определен, в этом случае вы удаляете вызов pack() и вызываете setSize() явно. – Michael