사용자가 응용 프로그램의 특정 단추를 클릭하면 새 JFrame에로드 이미지를 표시하려고합니다 .JFrame이 표시되지만 아무 것도 표시하지 않으며! 또한 흰색 배경으로 표시되지만 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에 icon1이 추가되지 않습니다. – vaisakh
죄송합니다. 관련 코드를 붙여 넣었습니다. 실수로 해당 행을 무시했습니다. – nikel
이것은 귀하의 질문에 대한 답변이 아니지만, 당신이 pack()과 setSize()를 호출하고 있음을 확인합니다. 두 가지 방법 모두를 부르는 것은 부적절합니다. pack() 또는 setSize() 중 하나만 호출하고 둘 다 호출하지는 마십시오. pack() 메소드는 내용을 기준으로 크기를 설정합니다. 드문 경우지만 내용의 크기를 결정할 수 없으며,이 경우 pack()에 대한 호출을 제거하고 setSize()를 명시 적으로 호출합니다. – Michael