gpt4 book ai didi

java - 除非程序从终端运行,否则 JFrame 框架图标不会显示

转载 作者:行者123 更新时间:2023-11-30 03:51:39 25 4
gpt4 key购买 nike

我终于完成了我的第一个真正的程序,并一直在努力对其进行一些收尾工作。最后的修饰之一就是用图标和所有东西将其包装起来。问题是,该图标仅在我从终端运行 jar 时显示。例如,当我双击 jar 来运行它时,我只看到杜克大学吉祥物。我正在激活相同的 jar 文件,但以不同的方式并得到不同的结果。

示例 1(终端)。 From Terminal请注意图标如何显示在我的托盘中。

示例 2(双击)。 Double click请注意该图标没有显示在我的托盘中。

有谁知道如何解决这个问题或者问题是什么?

非常感谢。

编辑1:代码

URL iconURL = getClass().getResource("notebook_builder_icon.gif");
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());

最佳答案

terminal之间的主要区别和double click是执行位置的上下文。当从 terminal 运行时,执行上下文将是您执行 java 命令的目录。双击 Jar 时,上下文将取决于系统。您可以使用System.out.println(new File(".").getCanonicalPath());输出路径。

在你的 terminal 中,您的上下文是 ~/Programming/java ,而doublle click使上下文成为 .jar 的当前文件夹文件。

关于java - 除非程序从终端运行,否则 JFrame 框架图标不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24279983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com