我终于完成了我的第一个真正的程序,并一直试图对它进行一些收尾。其中一个最后的润色是用图标和一切包装起来。问题是,图标仅在我从终端运行jar时显示。例如,当我双击jar运行它时,我只看到Duke吉祥物。我正在激活相同的jar文件,但是以不同的方式获得不同的结果。
示例1(终端)。 注意图标是如何显示在我的托盘中的。
示例2(双击)。 请注意图标不会显示在我的托盘中。
有谁知道如何解决这个问题或者问题甚至是什么?
非常感谢。
编辑1:代码
URL iconURL = getClass().getResource("notebook_builder_icon.gif");
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());
答案 0 :(得分:2)
terminal
和double click
之间的主要区别在于执行位置的上下文。从terminal
运行时,执行上下文将是您执行java命令的目录。双击Jar时,上下文将取决于系统。您可以使用System.out.println(new File(".").getCanonicalPath());
输出路径。
在您的terminal
中,您的上下文为~/Programming/java
,而doublle click
生成.jar
文件的上下文当前文件夹。