将图像图标添加到按钮/标签 Swing

2024-03-17

我知道这个问题已经发布了,但我已经尝试了我发现的所有内容,但没有任何效果。

我有一个 Maven 项目,我想在按钮上使用图像。我把图像放在src/main/res folder。 Maven clean/Maven 安装后,我的所有图像都可以在target/classes文件夹。我希望图像位于.jar文件,这样我在使用它时就不需要创建单独的文件夹。

这是我尝试用来加载按钮上新图标的图像的代码:

JButton button = new JButton();
      try {
        Image img = ImageIO.read(getClass().getResource("cross_icon.jpg"));
        button.setIcon(new ImageIcon(img));
      } catch (Exception ex) {
        System.out.println(ex);
      }
       subsPanel.add(button);

但我得到一个input == null。我尝试使用main/res/cross_icon.jpg or res/cross_icon.jpg,但没有任何作用。


你必须放一个/如果在加载资源时是绝对路径,则在资源路径的开头Class.getResource.

Image img = ImageIO.read(getClass().getResource("/cross_icon.jpg"));

请参阅 javadocClass.getResource https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getResource-java.lang.String-

在委派之前,使用以下算法根据给定资源名称构造绝对资源名称:

  • 如果名称以“/”(“\u002f”)开头,则>资源的绝对名称是“/”后面的名称部分。
  • 否则,绝对名称的形式如下:

    modified_package_name/name
    

    其中modified_pa​​ckage_name是该对象的包名称,用'/'>替换'.' ('\u002e')。

PS

如果你使用ClassLoader.getResource资源名称始终被解释为绝对路径。例如。

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

将图像图标添加到按钮/标签 Swing 的相关文章

  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • 使用 Java 编程式 HTML 文档生成

    有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象 而不需要在外部生成字符串 然后使用 HTMLEditorKit read 来解析它 我问的两个原因 首先 我的 HTML 生成例程需要非常快 并且我认为将字符串解析
  • 使用 jdbc 程序连接到 Open Office odb 文件

    我编写了以下代码来连接到 OpenOffice db String db C Documents and Settings hkonakanchi Desktop Test odb Class forName org hsqldb jdbc
  • JUnit 使用 Mockito 测试异步方法

    我已经使用 Spring Framework 版本 5 0 5 RELEASE 在 Java 1 8 类中实现了异步方法 public class ClassToBeTested Autowired private MyComponent
  • java“void”和“非void”构造函数

    我用 java 编写了这个简单的类 只是为了测试它的一些功能 public class class1 public static Integer value 0 public class1 da public int da class1 v
  • 如何解决错误:java.lang.ClassNotFoundException:io.netty.util.concurrent.GenericFutureListener?

    昨天我第一次尝试用 Java 制作 Prometheus 客户端 从 Python 开始 最后是 GoLang 是否找到示例 import io prometheus client Counter import io prometheus
  • firestore快照监听器生命周期和定价之间有什么关系?

    在我的活动中 我有一个字符串列表 这些字符串表示我想要附加快照侦听器的 Firestore 文档 我使用 Acivity ModelView 存储库结构 在活动的 onCreate 中 我向 ViewModelProvider 询问适当的
  • Java:检查给定日期是否在当前月份内

    我需要检查给定的日期是否在当前月份 我编写了以下代码 但 IDE 提醒我getMonth https docs oracle com javase 7 docs api java util Date html getMonth and ge
  • Maven 多模块项目结构问题

    自从过去几周构建我的 Maven 多模块项目以来 这是我的一次有趣的经历 当我决定使用 Maven 进行构建生命周期管理时 我有几个原因希望选择 Maven A 大多数开发团队都是分开的 这样每个团队都可以在项目中的单独模块上工作 例如团队
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • 独占锁定ConcurrentHashMap

    我知道不可能锁定 ConcurrentHashMap 进行独占访问 但是 我找不到原因 是因为构成CHM的 Segment 没有被api公开吗 据推测 如果是的话 客户端代码可以执行 交接 锁定 Cheers 我知道不可能锁定 Concur
  • 会话 bean 中的 EntityManager 异常处理

    我有一个托管无状态会话 bean 其中注入了 EntityManager em 我想做的是拥有一个具有唯一列的数据库表 然后我运行一些尝试插入实体的算法 但是 如果实体存在 它将更新它或跳过它 我想要这样的东西 try em persist
  • JSP 标签+ scriptlet。如何启用脚本?

    我有一个使用标签模板的页面 我的 web xml 非常基本 我只是想在页面中运行一些代码 不 我对标签或其他替代品不感兴趣 我想使用不好的做法 scriptlet 哈哈 到目前为止 我收到了 HTTP ERROR 500 错误 Script
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

    web xml
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • Java SE + Spring Data + Hibernate

    我正在尝试使用 Spring Data Hibernate 启动 Java SE 应用程序 并且到目前为止已经完成了以下操作 配置文件 Configuration PropertySource classpath hibernate pro
  • Java 9 中紧凑字符串和压缩字符串的区别

    有什么优点紧凑的字符串 http openjdk java net jeps 254JDK9 中的压缩字符串 压缩字符串 Java 6 和紧凑字符串 Java 9 都有相同的动机 字符串通常实际上是 Latin 1 因此浪费了一半的空间 和
  • 将隐藏(生物识别)数据附加到 pdf 上的数字签名

    我想知道是否可以使用 iText 我用于签名 或 Java 中的其他工具在 pdf 上添加生物识别数据 我会更好地解释一下 在手写板上签名时 我会收集签名信息 例如笔压 签名速度等 我想将这些信息 java中的变量 与pdf上的签名一起存储

随机推荐

  • vb.net LINQ 选择不同的列表

    我有一个datatable对于包含一些重复值的列 我想将这些值添加到listbox但没有重复项 我尝试了以下方法 Dim a From row In table AsEnumerable Distinct ToList Select row
  • 如何快速访问视图子层

    我想通过编写以下内容来访问 swift 4 1 中的视图子层 for layer CALayer in myView layer sublayers Code 但出现错误 输入 CALayer 不符合协议 序列 这是否意味着CALayerf
  • Express:我可以在一个app.use中使用多个中间件吗?

    我有很多充满样板代码的应用程序 如下所示 app use bodyParser json app use bodyParser urlencoded extended false app use cookieParser app use r
  • FastAPI 的 RedirectResponse 在 Swagger UI 中无法按预期工作

    我有一个带下载端点的 FastAPI 应用程序 此下载端点的作用是使用BlobServiceClient 对于 Azure Blob 存储 生成请求中指定的文件的令牌和 Blob URL 我想要做的是将用户重定向到该 URL 这是下载点的代
  • django apache 配置与 WSGIDaemonProcess 不起作用

    更新的问题 Mon Jul 18 09 20 10 517873 2016 error pid 30316 tid 139756302964480 remote 122 164 94 99 48261 Traceback most rece
  • Javascript导入函数语法[重复]

    这个问题在这里已经有答案了 我试图从另一个模块导入函数 但在运行时出现错误 TypeError this getData is not a function data js function getData return id 1 name
  • 是否有用于 ipv4 和 ipv6 地址的标准 .NET 解码器?

    我想编写一个相当简单的客户端 服务器网络应用程序 我只使用纯 IPv4 网络 但如果我的代码能够面向未来 那就太好了 我可能会使用 TcpListener TcpClient 因为WCF初步调查 http msdn microsoft co
  • 媒体查询是否继承媒体查询中未指定的值?

    我正在使用媒体查询和弹性框来使我的网站做出响应 我认为我在这里有点愚蠢 但说我有包装器的 css 类 如下所示 wrapper display flex flex wrap wrap width 100 margin 0 auto padd
  • 使用不同的符号表重新计算 Boost Spirit 解析的属性的最有效方法是什么?

    我正在使用 Boost Spirit 来实现某些软件中的功能 该功能允许用户输入将重复应用于输入流的数学方程 输入流值使用符号表示boost spirit qi symbols用户可以在他们的方程中引用 例如 out1 3 in1 in2
  • ChildProcess关闭、退出事件之间的区别

    当通过生成子进程时spawn exec 在 Node js 中 有一个 close and an exit 子进程上的事件 这两者有什么区别 什么时候需要使用什么 在 Node js 0 7 7 之前 子进程上只有 退出 事件 没有 关闭
  • 如何使用 PHP 页面使用自定义用户名验证的 WCF Web 服务?

    我很难从 PHP 站点使用安全的 WCF Web 服务 我对 PHP 的了解有限 我在网上找到了各种示例 但还没有成功地使它们工作 我有一个 Silverlight 应用程序也使用这个 WebService 并且它工作正常 但是当我运行 P
  • 如何使用 git 仅暂存新文件的一部分?

    I love git add 交互式 现在它已成为我日常工作流程的一部分 问题似乎不适用于未跟踪的文件 我想要做的是跟踪一个新文件 但只添加其中的一部分 即这个新文件的某些部分尚未准备好进行暂存 例如 使用 git add i 我可以选择补
  • 插件Android支持异常,Worker因异常退出

    我刚刚在 Linux 上更新到 Android Studio 2 2 2 稳定版 现在经常崩溃 已经尝试过 使缓存无效 重新启动 清洁工程 删除 gradle 缓存 rm gradle caches rf 删除 Android Studio
  • 如何将 sitemap.xml 添加到 angularJS 站点?

    我在应用程序文件夹中添加了 sitemap xml 但如何将其公开以便谷歌网站管理员工具可以获取它 Thanks 来自谷歌的文档 有两种不同的方法可以让 Google 可以使用您的站点地图 OR 插入 在 robots txt 文件中的任意
  • 通过指针访问是否会改变严格的别名语义?

    有了这些定义 struct My Header uintptr t bits struct Foo Type struct My Header header int x struct Foo Type foo struct Bar Type
  • 信号栈

    我确实读到信号需要有一个单独的堆栈 您认为它为什么以及如何实现 它们是动态分配还是静态分配 内存分配是如何完成的 所有信号都一样吗 信号需要单独堆栈的原因是 如果正常堆栈损坏或溢出 信号仍然可以执行 我认为信号堆栈通常是动态分配的 但它可以
  • htmlspecialchars_decode() 不适用于空格

    我正在尝试使用 htmlspecialchars decode 但它不解码 nbsp 进入空间 这个问题有解决办法吗 My code query mysql query select from nowosci order by id des
  • 如何使用 Django/nginx 部署仅 HTTPS 的站点?

    我原来的问题是如何为 Django 登录页面启用 HTTPS https stackoverflow com questions 8015685 how to enable https in django auth generated pa
  • 如何使用 Selenium WebDriver 获取 HTTP 响应代码

    我已经使用 Selenium2 WebDriver 编写了测试 并且想要测试 HTTP 请求是否返回 HTTP 403 Forbidden 是否可以使用 Selenium WebDriver 获取 HTTP 响应状态代码 一句话 不 使用
  • 将图像图标添加到按钮/标签 Swing

    我知道这个问题已经发布了 但我已经尝试了我发现的所有内容 但没有任何效果 我有一个 Maven 项目 我想在按钮上使用图像 我把图像放在src main res folder Maven clean Maven 安装后 我的所有图像都可以在