gpt4 book ai didi

Java - 更改 BufferedImage 文件

转载 作者:行者123 更新时间:2023-12-01 15:55:24 24 4
gpt4 key购买 nike

我有一个扩展 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() 调试语句),那么我需要做什么才能成功更改正在绘制的图像?

最佳答案

您的图像已更新,但窗口未再次绘制。之后尝试调用repaint();。应该有帮助。

关于Java - 更改 BufferedImage 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com