前言
本文主要讲解如何在 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 中实现图标闪烁的功能,如果你有什么更好地思路和做法的话,欢迎一起交流学习。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5392.html