我想使用JLabel(Icon)来显示来自我的网站(http://xxx.xxx.xxx.xxx/java_pic/test.jpg)的图片。 我有一个刷新按钮来新建一个新的JLabel和ImageIcon(为了获得最新的图像) 程序运行成功...但是当我上传新图像以覆盖旧图像(http://xxx.xxx.xxx.xxx/java_pic/test.jpg)时,我按下刷新按钮......没有任何反应! 我重启我的程序......现在出现了新图像......为什么? 当我再次创建ImageIcon时,它不应该从网站重新加载图像吗?
public void refresh(){
URL iconUri = null;
iconUri = new URL("http://XXX.XXX.XXX.XXX/java_pic/test.jpg");
ImageIcon imageIcon = new ImageIcon(iconUri);
JLabel imageLabel = new JLabel(imageIcon);
frame.add(imageLabel);
...
...
}
当我点击刷新按钮时,它会调用refresh()...为什么? 谢谢!
答案 0 :(得分:8)
图像被缓存。刷新清除缓存:
imageIcon.getImage().flush();