繁体   English   中英

Java-更改BufferedImage文件

[英]Java - Change BufferedImage File

我有一个扩展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(); 之后。 应该会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM