在 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。
我收到一个错误:第 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。