2012-06-29 79 views
1

我有一個小JApplet應該只是簡單地導入一個圖像並將其顯示在屏幕上。但是,我遇到了一些麻煩。圖像沒有在applet中顯示

private Image logo1; 

public void init() { 
    logo1 = getImage(getCodeBase(), "Penguins.jpg"); 
} 

@Override 
public void paint(Graphics g) { 
    g.drawImage(logo1, 0, 0, this); 
} 

這實質上是我的整個程序。它有什麼問題嗎?我假設其中一個問題可能是圖片可能必須在您的計算機的特定部分或類似的東西...此圖像的地址是C:\ Users \ Public \ Pictures \ Sample Pictures

+1

它必須位於代碼庫中。很可能,這是保存你的'src'文件夾的文件夾。 – Jon

+0

你從未說過問題是什麼。該小程序是否未運行或正在運行,但未顯示該圖像或什麼? – ghostbust555

+0

圖像沒有顯示出來。抱歉。 – kullalok

回答

0

getCodeBase()在方法調用getImage()中的原因是獲取代碼庫位置。

代碼庫是保存所有源代碼包的文件夾。它最有可能是您的項目文件夾上方的文件夾src。這是一個正常的項目的基本結構(至少我的項目):

-MyProject           - 這是基本代碼
  -src                   - 您的所有代碼可能都在此文件夾中。所有的軟件包顯示爲文件夾,這裏
  -bin                   - 當你的代碼編譯,它結束了在這裏
  -data                 - 這就是所有的資源(我的首選)
      -images           - 很明顯,圖像會去這裏
          -Penguin.jpg - 您的圖像

這一切導致這個答案:有了上述結構,您致電getImage()應爲:

getImage(getCodeBase(), 'data/images/Penguin.jpg');