我試圖在用戶在我的應用程序中單擊某個特定按鈕時在新的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);
}
});
我沒有看到icon1被添加到有問題的JFrame? – vaisakh 2012-03-29 18:05:50
對不起,我剛貼上了相關的代碼。誤了這行。 – nikel 2012-03-29 18:10:26
這不是你的問題的答案,但我注意到你正在調用pack()和setSize()。調用這兩種方法是不合適的。調用pack()或setSize()但不是兩者。 pack()方法將根據內容設置大小。在極少數情況下,無法確定內容的大小,在這種情況下,您將刪除對pack()的調用並顯式調用setSize()。 – Michael 2012-03-29 20:55:00