我试图显示是从网站上下载的图像,使用的setIcon
和jLabel
jLabel5.setIcon(new ImageIcon("image.png"));
在程序启动时,该映像不存在,已下载该映像,然后显示该映像,没有任何问题。但是,即使更改了,即使下载了该映像的较新版本,它也会显示旧的映像,就好像它已缓存了该映像或其他内容一样。
有人知道为什么会这样吗?有或没有这种方法,如何获得解决方法?
我还尝试执行以下操作以查看是否有帮助,但没有成功:
jLabel5.setIcon(null);
jLabel5.setIcon(new ImageIcon("image.png"));
它什么也不会显示,然后再显示相同的旧图像。
它将显示旧的旧文件,就好像它有旧文件或其他内容的缓存一样。
是的,缓存是个问题。这里有几个选择:
// This works using ImageIO
imageLabel.setIcon( new ImageIcon(ImageIO.read( new File(imageName) ) ) );
// Or you can flush the image
ImageIcon icon = new ImageIcon(imageName);
icon.getImage().flush();
imageLabel.setIcon( icon );
问题内容: 我正在尝试用GUI制作棋盘游戏。我用 播放器的名称创建了一个JLabel,并希望将其用作令牌。然后,我制作了另一个JLabel, 其中包含板的图像。我将两个标签都添加到boardPanel上, 现在,这些标签并排放置。我如何做到这一点, 以使JLabel带有名称而不是并排放置在带有img的JLabel上? 对于包含两个 标签的面板,我应该考虑些什么吗?像某个布局管理器一样? [只是我的
我正在制作一个使用swing的游戏,其中有一个用于选择关卡的JPanel和用于导航到关卡的JButtons。我还为整个级别屏幕创建了一个.png图像--是否可以在JButtons的顶部呈现该图像?如果不是,最简单的替代方案是什么?
问题内容: 我一直在尝试为我的Roguelike游戏添加一个JLabel。不幸的是,它似乎不起作用。到目前为止,这是我的代码: 我已经阅读了一些其他问题的解决方案,并且只需将JLabel添加到另一个解决方案中就可以完成。它不按这里的预期工作,为什么? PS:我不想为我的JPanel使用JLayeredPane。 问题答案: 不要使用组件(即JLabels)创建游戏环境。相反,您可以绘制所有游戏对象
我正在设计一个配置托盘的应用程序,我有一个扩展的类,我用它创建带有旋转文本的JLabels。我在网上找到了几个关于如何这样做的例子,我的旋转工作很好,它不是完美的,但这是一个正在进行的工作。 我现在遇到的问题是我旋转的JLabels中的文本重复了,我不知道为什么。下面是一张图片,显示了每个标签中的重复文本,它在一些地方比在其他地方更突出,例如与高度标签的重复可以清楚地看到。 下面是我的类的源代码,
我的makeWhiteTransparent方法如下所示: 我尝试将graphics.drawImage(newImage,null,0,0)更改为graphics.drawImage(newImage,0,0,null),并按照建议将TYPE_4BYTE_ABGR更改为TYPE_INT_ARGB,但没有任何效果。错误仍然存在。
我试过将图像定位到许多不同的地方,也试过不同的加载图像的方法,但没有一种方法奏效,我已经确保图像在导出的JAR文件中确实正确地出现。