netbeans IDE中显示的图像未在实际应用中显示

时间:2018-11-26 10:20:47

标签: java image netbeans java-11

我在netbeans的帮助下用Java开发了一个带有GUI的应用程序(我正在使用Apache netbeans 9和JDK 11)。另外,我还向该相框添加了一些图像。这些图像在netbeans中很好用,但是我无法在通过命令行运行的真实应用程序中看到这些图像。

这就是我将图像添加到应用程序的方式

JButton saveTxtTool = new JButton(new ImageIcon((getClass().getProtectionDomain().getCodeSource().getLocation().toString() + "morsecoder/save-text-large.png").replaceAll("file:/", "")));

由于这个问题,我尝试了这一行以获取传递给ImageIcon的路径。

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation().toString().replaceAll("file:/","")+"morsecoder/undo.png");

这是我在命令提示符下没有netbeans的情况下运行应用程序的方式。

set Gantt_Generator_v5.0="C:\Program Files (x86)\GANTT_GENERATOR_V5.0"
start java -cp dist\MorseCoder.jar morsecoder.MorseCoder

在两个IDE和CMD中都运行该应用程序后,这些就是我得到的结果。

//in netbeans IDE
C:/Users/Seniru/Documents/MorseCodeConverter/NetBeansProjects/MorseCoder/build/classes/morsecoder/undo.png

//in cmd
C:/Users/Seniru/Documents/MorseCodeConverter/NetBeansProjects/MorseCoder/dist/MorseCoder.jar/morsecoder/undo.png
  

所以在这些测试之后,我发现路径是不同的。所以我的问题是如何解决这个问题以及我在这里做错了什么。

0 个答案:

没有答案