Java | 实现消息提醒的图标闪烁功能

   日期:2020-09-14     浏览:180    评论:0    
核心提示:前言本文主要讲解如何在 Java 中实现类似 QQ 等软件在有消息时的托盘图标闪烁功能,项目素材及代码均已上传 GitHub,可以点击链接进行查看,本文只展示核心代码,完整代码点击链接查看即可,此外项目属于 JavaFX 项目。效果最终实现的效果如下所示:注意想要更直观的效果图,可以查看该链接。思路通过新开一个线程,然后定时交替设置图标的图片:一个为空,一个为正常图片,即实现了图标的闪烁,代码如下:private void setTimerTask() { // 设置提示音

前言

本文主要讲解如何在 Java 中实现类似 QQ 等软件在有消息时的托盘图标闪烁功能,项目素材及代码均已上传 GitHub,可以点击链接进行查看,本文只展示核心代码,完整代码点击链接查看即可,此外项目属于 JavaFX 项目。

效果

最终实现的效果如下所示:


注意

想要更直观的效果图,可以查看该链接。

思路

通过新开一个线程,然后定时交替设置图标的图片:一个为空,一个为正常图片,即实现了图标的闪烁,代码如下:

private void setTimerTask() { 
    // 设置提示音
    MediaPlayer mp = initMusic();
    new Thread(() -> { 
        mp.play();
        // 让图标无限闪烁
        while (true) { 
            // 交替展示空图标以及有图图标
            sleep(310);
            trayIcon.setImage(getImage1());
            sleep(290);
            trayIcon.setImage(getImage0());
        }
    }).start();
}

注意点

  • 设置托盘的图标,如果出现无法正常显示时,需要设置图标图片的自适应:
trayIcon.setImageAutoSize(true);
  • 如果菜单项出现下图所示的乱码时,可以在编译时设置-Dfile.encoding=gbk即可:

如果使用的是IDEA,可以直接在工具栏中进行如下设置:

设置完成后,即可解决乱码问题:

总结

本文简单介绍了一种在 Java 中实现图标闪烁的功能,如果你有什么更好地思路和做法的话,欢迎一起交流学习。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服