【问题标题】:Loading an Image in an Applet without getImage()?在没有 getImage() 的情况下在 Applet 中加载图像?
【发布时间】:2012-02-04 17:33:58
【问题描述】:

我通常使用以下方法在 Applets 中加载图像:

this.getImage( getCodeBase(), "myimage.png" );

或

myapplet.getImage( getCodeBase(), "myimage.png" );

但是,如果我想从另一个不是 Applet 子类的类加载图像,它也没有引用 Applet 的成员,该怎么办?

说,我有一个精灵类,我想在其update 方法中加载动画图像:

@Override
public void update(){

    frame++;
    if ( frame > 3 ) frame = 1;

            /* the problem */
            loadImage( getCodeBase(), "myimage_" + frame + ".png" ); 
}

当然,我可以包含Applet app 作为参数,但是精灵的更新方法会在代码的许多不同部分和许多其他类中被调用,这会使事情变得极其复杂并使生活变得困难。

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

【问题讨论】:

  • 问题似乎是“如何形成 URL”而不是“如何避免 getImage()”。
  • 现在人们似乎忽略了 java 问题... :(

标签: java image file applet load


【解决方案1】:

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

Image img = ImageIO.read(url);

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-29
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多