在 Java 中添加图像

Adding an image in Java

我收到一个错误:第 39 行 Image is abstract; cannot be instantiated。第 45 行,错误 cannot find symbol

使用 class 扩展图像,例如 BufferedImage 。这与基本的 OOP 有关。

要加载 Image,您可以使用 java.awt.Toolkit.getImage(...),或者(通常是更好的选择)javax.imageio.ImageIO 的 read 方法

由于之前的所有回答都没有提到java.awt.Image实际上是一个抽象的class,无法实例化,所以我不得不干涉! 这是创建图像的最佳方式。

BufferedImage img = null;
try {
    img = ImageIO.read(new File("strawberry.jpg"));
} catch (IOException e) {
}

哦,是的,更不用说 gun1 对象没有在 drawGun(Graphics2D g) 方法中定义...

您正在尝试从 it 方法中实例化局部变量。 需要在构造函数前加上"gun1",然后在构造函数处使用"gun1 = gun.getImage()"。

您需要将 gun1 作为参数传递给 drawGun 方法,或者将 gun1 声明为成员变量。

图像是抽象的class,无法实例化。您可以在此处 https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

阅读有关摘要 class 的更多信息

要获取 Image 的实例,您可以使用 class 来为您处理,例如 ImageIO 或类似的东西

ImageIcon image = new ImageIcon((Thread.currentThread().getContextClassLoader().getResource(url)));

奖金使用 ImageIcon 将让你绘制动画 gif。