我通常使用以下方法在Applet中加载图像:
this.getImage( getCodeBase(), "myimage.png" );
或
myapplet.getImage( getCodeBase(), "myimage.png" );
但是,如果我想从另一个不是Applet的子类的类加载图像,它是否也有一个引用Applet的成员呢?
说,我有一个sprite类,我想在update
方法加载动画图像:
@Override
public void update(){
frame++;
if ( frame > 3 ) frame = 1;
/* the problem */
loadImage( getCodeBase(), "myimage_" + frame + ".png" );
}
当然我可以包含Applet app
作为参数,但是精灵的更新方法会在代码的许多不同部分以及许多其他类中被调用,这会极大地复杂化并使生活变得困难。
那么有没有办法可以使用applet的getImage()
方法从applet 中加载的文件中加载图像?
答案 0 :(得分:3)
那么有没有办法在不使用applet的getImage()方法的情况下从applet中的文件加载图像?
Image img = ImageIO.read(url);
答案 1 :(得分:0)
从非applet类定义或应用程序中的文件加载图像时,需要以下语句:
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image1 = toolkit.getImage("fileName.ext");