需要在收到通知时闪烁托盘图标。为此,我有两个图像。我正在使用Thread runnable(),并以一定的间隔使线程休眠,添加和删除图像。这是正常工作,但当闪烁时,任务栏中的所有其他托盘图标也会闪烁。不确定这是不是一个好的方法。
new Thread(new Runnable() {
public void run() {
try {
for(int i=0; i<count; i++) {
remove(Image2);
add(Image1)
long intratime=1001*1l;
Thread.sleep(intratime);
remove(Image1);
add(Image2);
long intertime=1001*1l;
Thread.sleep(intertime);
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}}).start();发布于 2014-04-03 04:30:38
不确定您是如何通过Thread runnable()实现此功能的。
您可以使用TrayIcon创建托盘图标。要添加弹出窗口,可以使用方法setPopupMenu(PopupMenu popup)函数。
发布于 2014-04-03 05:23:09
简单地将TrayIcon的图像替换为空白图标或不同颜色的图标
发布于 2015-01-23 15:57:46
您不应该删除添加完整的TrayIcon,而应该替换TrayIcon的映像,例如:
new Thread(new Runnable() {
public void run() {
try {
TrayIcon trayIcon = new TrayIcon(Image1);
SystemTray.getSystemTray().add(trayIcon);
long intratime=1001*1l;
for(int i=0; i<count; i++) {
Thread.sleep(intratime);
trayIcon.setImage(Image2);
Thread.sleep(intratime);
trayIcon.setImage(Image1);
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}}).start();原因:每次在系统托盘中添加或移除托盘图标时,操作系统可能会重新排列当前显示的其他图标。但是当你只是替换图标图像时,不会发生重排。
https://stackoverflow.com/questions/22822247
复制相似问题