Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在没有getImage()的小程序中加载图像?_Java_Image_File_Applet_Load - Fatal编程技术网

Java 在没有getImage()的小程序中加载图像?

Java 在没有getImage()的小程序中加载图像?,java,image,file,applet,load,Java,Image,File,Applet,Load,我通常使用以下方式在小程序中加载图像: this.getImage( getCodeBase(), "myimage.png" ); 或 但是,如果我想从另一个类加载一个图像,该类不是Applet的子类,也没有引用Applet的成员,该怎么办 比如说,我有一个sprite类,我想在它的update方法中加载动画图像: @Override public void update(){ frame++; if ( frame > 3 ) frame = 1;

我通常使用以下方式在小程序中加载图像:

this.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
作为参数,但是sprite的update方法在代码的许多不同部分和其他许多类中都会被调用,这将使内容极其复杂,并使生活变得困难

那么,有没有一种方法可以不使用applet的
getImage()
方法从applet中的文件加载图像

那么,有没有一种方法可以在不使用小程序的getImage()方法的情况下从小程序中的文件加载图像


从非小程序类定义或应用程序中的文件加载图像时,需要以下语句:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image1 = toolkit.getImage("fileName.ext");

问题似乎是“如何形成URL”,而不是“如何避免getImage()”。如今人们似乎忽视了java问题…:(
Image img = ImageIO.read(url);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image1 = toolkit.getImage("fileName.ext");