[英]Help displaying an image in a java applet
下面是一個簡單的小程序,用於顯示單張圖片。 代碼編譯正常,applet加載但圖像文件永遠不會被繪制到applet。 我認為它無法使用this.getImage(appletBaseURL,filename)找到圖像; 我將圖像文件存儲在與此軟件包關聯的所有文件夾中,但仍然沒有繪制它。
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
public class imageTest extends Applet {
private Image spaceShip;
private final String filename = "spaceshipcropped.jpg";
public void init() {
java.net.URL appletBaseURL = getCodeBase();
File file = new File("spaceshipcropped.jpg");
try {
spaceShip = ImageIO.read(file);
} catch (IOException ex) {
Logger.getLogger(imageTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void paint(Graphics g)
{
Graphics2D g2d = (Graphics2D)g;
g2d.drawImage(spaceShip, 0,0, null);
}
public void update(Graphics g) {
repaint();
}
}
在我做了這些改變后,它起作用了。 非常感謝你們的幫助!
setSize()
。 大小由HTML設置。 Graphics2D
對象,但我從來沒有聽說過Applet
的相同內容。 你在檢查Java控制台嗎? paint
方法中,檢查圖像是否為null
。 getImage(URL,String)
方法的JavaDocs狀態“此方法始終立即返回,無論圖像是否存在。” 在第3個千年中添加MediaTracker
或加入我們並使用ImageIO.read(URL)
- 它會一直阻塞,直到加載圖像。 我希望定點6可以解決問題,但也要考慮其他5點。
加上這個
public void update(Graphcs g) {
repaint();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.