当前位置: 首页 > 面试题库 >

ImageIcon不会更新具有相同URL的新图像

孟豪
2023-03-14
问题内容

我想使用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();


 类似资料:
  • 问题内容: 我目前正在使用基于Web的Twitter客户端,因此我使用了angular.js,node.js和socket.io。我通过socket.io将新的推文推到我的客户端,服务在其中等待新的推文。当一条新的推文到来时,该服务通过$ broadcast发送事件。 在我的控制器中是一个事件侦听器,其中传入的tweet在单独的函数中进行处理。此功能只是将新的推文推入我的推文范围。 现在,我的问题

  • 删除缓存的存档以强制重新下载: 执行明确的回购更新 比较github上8天前修改的最新版本:https://github.com/confluentinc/cp-helm-charts/blob/master/charts/cp-kafka/templates/statefulset.yaml#L140 github版本具有。Helm提取的版本只有而没有后面的。 为什么Helm拉出的文件在GitH

  • 问题内容: 我的应用程序的登录页面有两种状态:,。现在,我想在同一URL上显示这两种状态,但让控制器和模板取决于用户会话(用户是否登录?)。 有没有办法做到这一点? 问题答案: 您可以有一个基本状态来控制要加载的状态,并且可以简单地让声明该基本状态的子级没有url: 现在,在基本状态()的控制器中,您可以检查用户是否已登录,并用于加载适当的状态。 编辑 如所承诺的那样,正在努力工作。

  • 我必须用自动递增的方式分类 和子类别 我还有一个文件数据。我的类路径中的sql。当我启动spring启动应用程序以插入默认值时,将加载此文件 一旦应用程序启动,当我调用我的服务创建另一个子类别时,我得到一个Id发布异常 Spring使用已经存在的数据生成自己的序列,而不是从数据库中获取正确的序列。所以我得到了一个例外: 2020-01-29 01:00:02.848跟踪9148---[nio-91

  • 问题内容: 我正在使用 ng-src 指令,以避免浏览器在Angular评估表达式之前请求图像。 如果表达式“ image”更改,将更新图像的 src 属性。我误解了为什么如果表达式(“ myImage.png”)为空(“”),则 ng-src 指令不会更新图像的路径。 当表达式为空时, ng-src 属性为空,但是 src 属性仍然是最后一个已知的 src 。因此它不会更新图像。为什么不更新 s

  • 问题内容: 我已经阅读了有关此问题的主题,例如:[\AngularJS中未更新视图,\但我仍然不明白如何在我的简单示例中应用它。 我有这个功能: 当代码中的其他地方更新时(用户单击,交互,发送XHR请求时),它不会更新我的视图。我知道我需要使用$apply做些事情,但我不知道在哪里以及如何做。 有人可以向我解释如何针对这个简单用例解决此问题吗? 我的模型看起来像这样(如果这个问题是必要的)-它里面