只是使用繪畫方法和我的圖像最初不會顯示。一旦我最小化Java窗口並調整它,圖像顯示出來。有沒有我錯過的代碼?好奇爲什麼我的圖像沒有出現
public class Lil extends JFrame {
Image image = Toolkit.getDefaultToolkit().getImage("images/Untitled.png");
public Lil(){
setTitle("flame");
setBackground(Color.WHITE);
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
}
public void paint(Graphics g){
g.clearRect(0, 0, 400, 400);
g.drawImage(image, 60, 25, null);
//repaint();
}
public static void main(String [] args){
new lil();
}
}
嗯......當我閱讀OP的意圖是在框架上有一個背景圖像。如果是這樣,您必須將面板設置爲contentPane而不是添加它。或者我錯過了什麼? – kleopatra
+1用於熱鏈接到圖像。順便說一句 - 在所有的興奮中,我想每個人都忘記回答OP的確切問題。所以對於記錄來說,之前的問題是使用非阻塞的'Toolkit'方法來加載圖像。上面貼出的代碼使用'ImageIO',它在繼續下一個代碼行之前讀取整個圖像。 –
@kleopatra:我同意,如果圖像是背景,那麼顯示它的組件應該成爲contentPane。 –