首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JPGs加载到Swing应用程序中

将JPGs加载到Swing应用程序中
EN

Stack Overflow用户
提问于 2011-12-11 04:48:54
回答 1查看 878关注 0票数 4

我想我在这里患上了类似的忧郁症。我一直在跟踪示例。我读了教程。但似乎什么都不适合我。

假设我在以下URI上有一个JPEG文件:C:\Users\MyUser\someIcon.jpeg

假设我有一个带有JPanel的Swing应用程序,我想将这个JPEG添加到JPanel中(定位/布局并不重要)。

是如何做到这一点的?--我没有收到任何错误或异常,只是没有看到JPEG的负载。我试图使用的代码是:

代码语言:javascript
复制
String someIconUri = "C:\Users\MyUser\someIcon.jpeg";
URL imageUrl = getClass().getResource(someIconUri);
ImageIcon imageIcon = new ImageIcon(imageUrl);
myPanel.add(imageIcon);

请告诉我.我从中午today...and午夜就开始处理这件事了。提前感谢你在正确的方向上做出的努力。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-11 05:05:23

代码语言:javascript
复制
String someIconUri = "C:\Users\MyUser\someIcon.jpeg";

不,它不是‘一些图标URI',它根本不是一个有效的URI。想想看,它甚至不是一个可编译的语句,因为String包含非法的转义字符!

可能是某种类似于.的东西。

代码语言:javascript
复制
String someIconUri = "file:///C:/Users/MyUser/someIcon.jpeg";

但是getResource()既不需要也不有用,因为它只会在运行时类路径上定位资源。只需直接从URL构造一个String

但这实际上只是“答案的一部分”。这就是为什么。

在这种情况下,基本上有两类资源。应用程序资源和(因为缺少更好的单词)用户资源。

应用资源。

这些资源可能由框架图标、按钮和菜单图标(Action图标)、选项卡图标等组成。帮助文件(和相关图像),启动图像..。

应该将它们添加到单独的Jar (最常见的情况下),并添加到应用程序的运行时类路径(使用清单或其他方法,如applet元素或JNLP文件)。

应用程序资源应通过URL访问,可以使用getResource()获取

代码语言:javascript
复制
URL iconUrl = this.getClass().getResource("/icons/copy.jpg");

用户资源。

用户希望打开(编辑/打印)现有的文本文档,根据图像帧制作动画GIF,在他们的文件系统上编辑图像。

对于这些类型的资源(并假定应用程序。是可信的或没有安全管理器),向用户提供一个JFileChooser。它将返回特定的、现有的File或更多(取决于配置和使用的方式)。

在这种情况下,永远不要将File转换为其他任何东西,只需直接使用实例。

大多数从资源获取输入的方法(值得一提)都将接受File URL InputStream

最后一种方法对于在内存中生成或从诸如套接字或JNLP FileContents对象等源中获得的内容很有用。后者对沙箱应用程序特别感兴趣。使用Java Web Start启动或嵌入。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8462029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档