2013-08-19 147 views
0

誰能告訴我爲什麼(通過給我的代碼)使圖像點取代JLabel嗨 所以點出現。我現在得到的是Hi。JLabel到圖像

public class Memory extends JPanel {  
ImageIcon Dots = new ImageIcon("Dots.jpg"); 
private JLabel Hi = new JLabel("Hi"); 
//ImageIcon Dots = new ImageIcon(this.getClass().getResource("Dots.jpg")); 

Memory(){ 
    Hi.setIcon(Dots); 
    Hi.setPreferredSize(new Dimension(100,100)); 
    this.add(Hi); 
} 
} 
+1

類中的變量/成員應該以LowerCase字母開頭。關於你的問題,你的圖片'Dots.jpg'路徑是否正確?它與你的班級「記憶」處於同一水平? – araknoid

+1

請看看這個[回答](http://stackoverflow.com/a/9866659/1057230)。但是,如果您手動執行此操作,請參閱該答案中的最後一個鏈接希望它有助於:-) –

+0

或者你可以從我的這個答案,關於[爲JLabel設置圖標](http://stackoverflow.com/a/15187181/1057230):-) –

回答

1

您應該將「SRC」文件夾,然後把你的* .JPG圖標那裏(包含所有的.java類/代碼的文件夾)中創建一個文件夾。然後嘗試像這樣

hi.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/Dots.jpg"))); 

假設您創建的文件夾的名稱是「資源」。

+0

我試着做什麼nivde92建議。它說,Applet沒有初始化。 – user2686522

+0

它的工作? 我有一個名爲「jpg」的資源內的額外文件夾,現在檢查代碼,它應該工作。 – Nivde

+0

我很困惑。它說小程序未初始化,並在sun.reflect.Reflection.ensureMemberAccess(來源不明) \t在java.lang.Class.newInstance(來源不明) \t在sun.applet.AppletPanel.createApplet(來源不明) \t此錯誤在sun.applet.AppletPanel.runLoader(來源不明) \t在sun.applet.AppletPanel.run(來源不明) \t在java.lang.Thread.run(來源不明) – user2686522