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