为 Java 应用程序的任务栏提供图标

为 Java 应用程序的任务栏提供图标

我有一个 Java 应用程序打包为可执行文件,其中Java打包器.tar.gz文件的内容为:

  • PNG 文件(由我提供 - 128px/128px)
  • 包含所有 .jar 库的文件夹
  • 可执行文件 (bash shell)

当该应用程序执行时,它的图标会显示在任务栏中,但显示效果很丑陋,就像一个放大的小图标:

任务栏中的应用程序图标

最多问题/答案关于任务栏图标处理手动编辑myapplication.desktop文件。

我想找到一个自动化解决方案。即使在其他 DPI 下,图标也能直接正确显示,无需用户采取任何操作。

它会是什么?添加其他图标,其他尺寸?在包中添加另一个文件?

编辑:

我终于添加了一个myapplication.desktop文件。如果图标在应用程序菜单中正确呈现

应用程序菜单中的图标

它在任务栏中一直被错误地呈现

答案1

关键是拥有正确的xxx.desktop文件。

该应用程序是一个 Java 应用程序,操作系统在其主类名. 因此,如果应用程序的主类是,则foo.bar.MyApplication.class操作系统会将该应用程序识别为foo-bar-MyApplication

因此解决方案是创建以下文件:

~/.local/share/applications/foo-bar-MyApplication.desktop

内容如下:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Name=My Wonderful Application
Icon=/path/to/a/wondefull/icon.png

这是最简单的解决方案。目前还不涉及 JavaPackager。这是由 Java 代码本身实现的。

相关内容