【问题标题】:Java can't instantiate an Image?Java不能实例化图像?
【发布时间】:2016-04-17 14:57:30
【问题描述】:

所以对于我的 2D 游戏,我想使用图像来代表玩家,但是当我尝试使用图像时,它告诉我它无法“实例化”。我不知道这是什么意思:

public class PlayerOne extends Entity{
  private Image img = new Image();
[...]
  @Override
  public void render(Graphics g){
  g.drawImage( img , x, y, Color.BLUE, new ImageObserver());
  }
}

我在另一个类中使用 BufferedImages 尝试过,但不知何故不起作用。

所以它不能创建既不是 Image 也不是 ImageObserver 的对象。有谁知道这个错误的修复方法吗?

【问题讨论】:

  • "抽象类 Image 是所有表示图形图像的类的超类。图像必须以特定平台的方式获取。"

标签: java image awt instantiation imageobserver


【解决方案1】:

您不能实例化abstract class。请参阅link

以下语法将是可操作的:

private Image image = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);

有关BufferedImage 的更多信息,另请参阅link。此外,这里有一个说明example 实现的教程;

【讨论】:

    【解决方案2】:

    你应该有一个图像文件(例如*.png)开始。然后使用

    Image  img = new ImageIcon("img.png").getImage();
    

    【讨论】:

    • 谢谢,但你也知道如何解决 imageobserver 问题吗?
    • 我相信ImageObserver是一个接口,你应该写一个类来实现它并实例化那个类。
    猜你喜欢
    • 2013-08-03
    • 2016-03-07
    • 2015-10-07
    • 2012-10-08
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多