Java 图像未显示?

2024-01-19

尝试显示我的徽标时遇到问题。图片保存在与main.java同一个文件夹中

    ImageIcon im = new ImageIcon("banner.png"); 
    JLabel bam = new JLabel(im); 

    grid.add(bam);

我的语法有问题吗?


可能的问题有很多,但最可能的问题是,图像的位置与执行应用程序的位置不在同一上下文中。

比方说,main.java位于某个目录中(为了论证起见,我们只说“path/to/class”),然后当你执行时main.java,图像的路径会变成这样/path/to/class,这意味着您应该使用类似...

ImageIcon im = new ImageIcon("path/to/class/banner.png"); 

这还假设图像尚未被 Jar'ed,因为ImageIcon(String)需要文件系统上文件的路径。

如果程序已被 Jar'ed 那么您将无法使用ImageIcon(String),作为banner.png不再是文件,而是资源,那么您需要使用类似...

ImageIcon im = new ImageIcon(getClass().getResource("/path/to/class/banner.png"));

Where /path/to/class是包在哪里main.java lives.

无论哪种情况,我都建议您使用ImageIO.read相反,因为这实际上会引发IOException当出现问题时,哪里ImageIcon往往会默默地失败...

看一眼读取/加载图像 http://docs.oracle.com/javase/tutorial/2d/images/loadimage.html更多细节

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 图像未显示? 的相关文章

随机推荐

  • 将对象从视图传递到控制器

    有没有办法将对象 特别是视图中使用的 form builder 对象 传递给控制器 中的操作 我正在使用 link to remote 并希望更新控制器中的变量 然后通过 render update 块将新的嵌套表单元素添加到我的表单中 如
  • Java多线程访问静态变量

    如何同时从多个线程访问静态变量 如果我有一个像这样的课程 Class A public static boolean FLG false 我需要像这样访问线程 1 中的值 public void run boolean t1 A FLG 从
  • 旋转并重命名 Pandas 数据框

    我有一个格式为的数据框 Date Datediff Cumulative sum 01 January 2019 1 5 02 January 2019 1 7 02 January 2019 2 15 01 January 2019 2
  • less 循环中的空间

    我有这个 loop index when index lt to page index nav ul li nth child index background fff loop index 1 似乎有问题 因为我的 css 输出是 ul
  • Keras 加载彩色图像

    我有 3 个带有彩色图像的文件夹 文件夹的名称是里面图像的标签 cls1 img 0 png img n png cls2 img 0 png img n png cls3 img 0 png img n png 我想使用 Keras 库创
  • 以编程方式发送短信未存储在发件箱中?

    我正在以编程方式制作一个项目短信 我使用此代码发送短信 SmsManager sms SmsManager getDefault sms sendTextMessage phoneNumber null message sentPI del
  • 为什么使用“envsubst file”重写文件会将其留空? [复制]

    这个问题在这里已经有答案了 我需要将一些环境变量值放入文件中 cat file VAR echo VAR text 当我做envsubst VAR VAR lt file gt file文件变空 为了解决这个问题我使用envsubst VA
  • SIGPIPE,简单 OpenSSL Web 服务器中的破损管道

    我正在尝试编写一个使用 OpenSSL 的简单 Web 服务器 我不断收到 管道损坏 错误 即使当我处理错误时 套接字似乎也永远不会打开以进行写入 我究竟做错了什么 这是我的代码 I created tempory certificates
  • postgres pgadmin 工具中的 TX 和 XID 分数代表什么

    XID 和 TX 列中的分数代表什么 这是 postgres 的 pgadmin 工具的屏幕截图 我知道 TX 和 XID 分别表示交易和交易 ID 但是我不明白分数表示法的含义 虚拟事务 ID 的格式为 n nnnn 真正的 XID 只是
  • CodeIgniter activerecord,检索最后插入的ID?

    CodeIgniter 中是否有任何选项可以获取新记录的最后插入 ID last id this gt db gt insert tablename array firstcolumn gt value secondcolumn gt va
  • 当多次旋转应用到元素时,计算元素角度的最佳方法是什么

    如果你执行旋转X 180deg 旋转Y 180deg 它现在是颠倒的 因此 如果鼠标设置为在拖动时向上移动子元素 则该子元素现在将向下移动 取决于您的设置方式 webkit transform rotateX deg rotateY deg
  • “rhc 墨盒”未显示使用 oo-admin-cartridge 添加的墨盒

    我使用 oo admin cartridge a install s path to cartridge 安装了墨盒 它显示在 oo admin cartridge a list 中 但不会显示在 rhc Cartridge 中 这是 Or
  • 如何使用退出代码退出程序:C#

    如何在 C 中使用退出代码退出程序 在java中它会是System exit int code http download oracle com javase 1 4 2 docs api java lang System html exi
  • Google 天气 API 403 错误 [重复]

    这个问题在这里已经有答案了 我决定从 Google 的天气 API 中提取信息 我在下面使用的代码运行良好 XmlDocument widge new XmlDocument widge Load https www google com
  • 乘以 100 后的值错误[重复]

    这个问题在这里已经有答案了 当该值 1212 3456789123 乘以 100 时 jQuery 显示 12 123456789123003 而不是 12 123456789123 Code p class price 12 123456
  • 使用多个不同的 group_by 变量 (dplyr) 来总结数据帧

    我有一个数据框 my data 其中包含 6 列 group1 members group2 members group3 members price price 2 price 3 1 1 1 800 877 334 1 2 1 850
  • 角度模块中的多个配置块

    我需要在加载之前解决应用程序中的一些依赖项 为我的服务获取数据等 我想将它们分开 以便我为主应用程序拥有一个配置块 然后为应用程序的其他部分拥有一个或多个配置块 最终 我希望它能够解决主应用程序的依赖关系 加载与之关联的组件 然后解决其余部
  • 使用动态内容调整 fancybox 的大小

    我正在使用 fancybox 当盒子加载时 我需要将一些项目插入盒子内的无序列表 ul 中 问题是 当我插入项目时 内容比框本身大 因此我需要在内容更新后调整框的大小 我无法让它与 fancybox resize 一起使用 添加新内容后如何
  • 在 virtualenv 中编译 mod_wsgi 时出现问题

    我正在尝试在 CentOS 服务器上编译 mod wsgi 版本 3 3 Python 2 6 但在virtualenv 没有成功 我收到错误 usr bin ld home python26 lib libpython2 6 a node
  • Java 图像未显示?

    尝试显示我的徽标时遇到问题 图片保存在与main java同一个文件夹中 ImageIcon im new ImageIcon banner png JLabel bam new JLabel im grid add bam 我的语法有问题