aang = getImage(getDocumentBase(), getParameter("images.jpg"));
我怀疑你做错了什么,这应该很简单:
aang = getImage(getDocumentBase(), "images.jpg");
HTML/applet 元素的内容是什么?图像的名称是什么?图像是否与 HTML 位于同一目录中?
更新 1
第二行(更改的)代码将尝试将images.jpg
文件加载到与 HTML 相同的目录中。
当然,您可能需要添加一个MediaTracker
来跟踪图像的加载,因为该Applet.getImage()
方法立即返回(现在),但异步加载(稍后)。
更新 2
试试这个确切的实验:
将此源另存为${path.to.current.code.and.image}/FirstAirBender.java
.
/*
<applet class='FirstAirBender' width=400 height=400>
</applet>
*/
import javax.swing.*;
import java.awt.*;
import java.net.URL;
import javax.imageio.ImageIO;
public class FirstAirBender extends JApplet {
Image aang;
public void init() {
try {
URL pic = new URL(getDocumentBase(), "images.jpg");
aang = ImageIO.read(pic);
} catch(Exception e) {
// tell us if anything goes wrong!
e.printStackTrace();
}
}
public void paint(Graphics g) {
super.paint(g);
if (aang!=null) {
g.drawImage(aang, 100, 100, this);
}
}
}
然后转到提示并编译代码,然后使用源名称作为参数调用小程序查看器。
C:\Path>javac FirstAirBender.java
C:\Path>appletviewer FirstAirBender.java
C:\Path>
您应该会在小程序中看到您的图像,从左上角以 100x100 绘制。