aang = getImage(getDocumentBase(), getParameter("images.jpg"));
Я подозреваю, что вы делаете что-то не так, и это должно быть просто:
aang = getImage(getDocumentBase(), "images.jpg");
Каково содержимое элемента HTML/апплета? Как называется изображение? Изображение находится в том же каталоге, что и 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 от верхнего левого угла.
person
Andrew Thompson
schedule
16.09.2011