我想使用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()…为什么?谢谢!
图像被缓存。刷新以清除缓存:
imageIcon.getImage().flush();