加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Windows 10通知中的空白图标

发布时间:2020-12-15 00:35:51 所属栏目:Java 来源:网络整理
导读:我的 java应用程序使用看起来或多或少的代码在系统托盘上显示其图标: Toolkit mainToolkit = Toolkit.getDefaultToolkit();SystemTray mainTray = SystemTray.getSystemTray();Image trayIconImage = mainToolkit.createImage(getClass().getResource(resou
我的 java应用程序使用看起来或多或少的代码在系统托盘上显示其图标:
Toolkit mainToolkit = Toolkit.getDefaultToolkit();
SystemTray mainTray = SystemTray.getSystemTray();
Image trayIconImage = mainToolkit.createImage(getClass().getResource(resourcePath));
TrayIcon mainTrayIcon = new TrayIcon(trayIconImage);
mainTray.add(mainTrayIcon);

有时我会改变这样的图标:

Image newImage = mainToolkit.createImage(getClass().getResource(otherPath));
mainTrayIcon.setImage(newImage);

我的应用程序有时需要显示一些通知(使用来自托盘图标的气球消息):

mainTrayIcon.displayMessage(someCaption,msg,TrayIcon.MessageType.NONE);

所有这些代码实际上都是以某种方式简化,但很好地掌握了这个功能.

所以Windows 7上的一切都很好.但事实证明,在Windows 10上,它的显示方式不同.在通知上,左侧显示一个图标.它通常是我的应用程序的当前托盘图标,但有时它只是空白:

在上面的红色圆圈(在通知上)是有时出现的空白图标,而不是我的应用程序的图标(在系统的托盘上的红色小圈中).我不知道它为什么会发生.我所知道的只有当应用程序的托盘图标和通知消息在第一次通知(总是正确显示其图标)之前发生变化时才会发生这种情况.如果显示通知,则手动关闭淡出/然后应用程序的托盘图标和通知更改,下一个通知(使用刚设置的新消息)将正确显示应用程序的图标.

解决方法

刚刚遇到这个问题并找到了正确的解决方案:

mainTrayIcon.setImageAutoSize(真);

这是在Windows上发送通知的方法:

public static void sendNotification(String title,String subtitle,String pathToIcon) {
    SystemTray mainTray = SystemTray.getSystemTray();
    Image trayIconImage = Toolkit.getDefaultToolkit().getImage(pathToIcon);
    TrayIcon mainTrayIcon = new TrayIcon(trayIconImage);
    mainTrayIcon.setImageAutoSize(true);
    try {
        mainTray.add(mainTrayIcon);
        mainTrayIcon.displayMessage(title,subtitle,TrayIcon.MessageType.NONE);
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}

调用sendNotification(“Title”,“Subtitle”,“icons / icon-128.png”);节目

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读