用Java添加图像

时间:2015-09-15 19:02:08

标签: java swing imageicon

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

enter image description here

5 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

使用扩展Image的类,如BufferedImage。这与基本的OOP有关。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您正尝试从其中实例化一个局部变量方法。 你需要在构造函数之前放置“gun1”,然后在构造函数中使用“gun1 = gun.getImage()”。

答案 4 :(得分:0)

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

Image是一个抽象类,它不能被实例化。您可以在此处阅读有关抽象类的更多信息https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

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

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

使用ImageIcon的奖励可以让你绘制GIF动画。