如何在AWT中的托盘栏通知中自定义程序名称?

pup*_*eno 12 java notifications awt

AWT的TrayIcon类有一个方法displayMessage,它显示了一个本机操作系统消息,在Windows 10中看起来像这样:

在此输入图像描述

当像这样调用时:

Image image = Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/isotype.png"));
final TrayIcon trayIcon = new TrayIcon(image, appName());
trayIcon.displayMessage("Caption", "Text text text", TrayIcon.MessageType.INFO);
Run Code Online (Sandbox Code Playgroud)

如何自定义字符串"Java(TM)Platform SE binary".当我为我的应用程序构建一个自包含的exe时,它会读取"Blah.exe",而我更喜欢它,如果只读取"Blah".

要打包应用程序,我通过优秀的JavaFX-Gradle-Plugin使用JavaFX工具链.

Kir*_*nov 5

一种解决方法是使用TrayIcon.MessageType.NONE. 在这种情况下,您根本不会看到最后一行,但也不会看到任何INFOWARNINGERROR图标。

但好处是您可以在显示的消息中获取您的应用程序图标TrayIcon如果您使用一些图像创建TrayIcon trayIcon = new TrayIcon(image, "Tooltip"),然后使用JavaFX-Gradle-Plugin打包您的应用程序,displayMessage方法将重用该图像,您将得到如下所示的内容:

  • @Pablo您仍然会在系统托盘中看到您的应用程序图标。我只是说圆形信息图标会消失 (2认同)