我有以下代码:
private final ImageIcon placeHolder = new ImageIcon(this.getClass().getClassLoader().getResource("Cards\\trans.png"));
但是,将我的应用程序导出到.jar
文件后,这不起作用。
答案 0 :(得分:10)
您的“\ t”正在编译为选项卡 - 您需要将其转义:
private final ImageIcon placeHolder = new ImageIcon(
this.getClass().getClassLoader().getResource("Cards\\trans.png"));
注意双反斜杠。当然,这可能不是唯一的错误 - 但这是一个开始......
实际上,我会用正斜杠来指定它。无论如何,这适用于Windows和基于Unix的操作系统,它也适用于jar文件。我突出显示双反斜杠的唯一原因是提高字符串转义点。试试这个:
private final ImageIcon placeHolder = new ImageIcon(
this.getClass().getClassLoader().getResource("Cards/trans.png"));
接下来,确保您已获得该文件的完全正确名称,包括大小写。即使Windows文件系统通常不区分大小写,jar文件也是如此。如果它实际上是“卡片”而不是“卡片”或“TRANS.png”而不是“trans.png”,它将无效。
答案 1 :(得分:2)
使用它来获取jar文件中的图像
ClassLoader.getSystemResource("images/Springz3.png"));