2017-08-12 78 views
0

這是我用於在小程序中顯示圖像的代碼。小程序正在工作,但不顯示圖像。圖像存在於src文件夾中。圖像不顯示在小應用程序

import java.awt.*; 
import java.applet.*; 


public class DisplayImage extends Applet { 

Image picture; 

public void init() { 
picture = getImage(getDocumentBase(),"IMG-20160319-WA0003.jpg"); 
} 

public void paint(Graphics g) { 
g.drawImage(picture, 30,30, this); 
} 

} 

的HTML代碼:

 <html> 
     <HEAD> 
    </HEAD> 
<body> 
<applet code="DisplayImage.class" width="300" height="300"> 
</applet> 
</body> 
</html> 
+0

所以你能確認兩件事情:1)圖像位於服務器加載applet的網頁相同的目錄? 2)圖像是那個確切的名字,包括字母(大寫/小寫)的情況?順便說一句 - 1)現代JRE不會加載未簽名的類。 2)要簽名,課程必須在Jar中。 3)..但大多數瀏覽器正在移除對applet等插件的所有支持。 –

回答

0

確保圖像是在同一個文件夾中.class文件,而不是.java文件,作爲.class文件是正在執行的一個。

更好的解決方案仍然是創建一個包含代碼和圖像的jar。我創建了罐子的基本文件夾如下所示:

enter image description here

在小程序的文件夾,你可以找到.class文件。將jar文件放在與html文件相同的文件夾中。那麼你必須調整你的.html文件:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <applet archive="applet.jar" code="applet.DisplayImage.class" width="300" height="300"> 
     </applet> 
    </body> 
</html> 
+0

如果圖像位於Jar中,則必須將其作爲[tag:embedded-resource]進行訪問,而不是使用通常的applet方法。 OTOH如果路徑和名稱是正確的,沒有理由無法直接從服務器(Jar外)加載圖像。 –

+0

該圖像在src文件夾中,我將它複製到'build'文件夾中。現在applet顯示圖像。 –

相關問題