我有一个扩展 JPanel 并实现 MouseListener 的 Java 类,并尝试复制 JButton 的一些基本功能,但加载了一些图像以使事情更漂亮。这是我的一些代码片段。
类字段:
private BufferedImage image;
在构造函数中,我有:
try {
image = ImageIO.read(new File("image/firstImage.png"));
} catch (IOException ex) {
}
然后我重写paintComponent 来绘制图像:
public void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, null);
}
这很好用!万岁。但我也希望能够更改正在绘制到屏幕上的图像。这不起作用:
public void mousePressed(MouseEvent arg0) {
try {
image = ImageIO.read(new File("image/newImage.png"));
} catch (IOException ex) {
}
}
mousePressed() 肯定会成功触发(尝试了 System.out.println() 调试语句)所以我必须做什么才能成功更改正在绘制的图像?