Java:如何在收到通知时闪烁trayicon?

Java:如何在收到通知时闪烁trayicon?,java,trayicon,Java,Trayicon,收到通知后,需要闪烁托盘图标。为此,我有两张图片。我正在使用Threadrunnable()并以一定的间隔使线程休眠,添加和删除图像。这工作正常,但当闪烁时,任务栏中的所有其他托盘图标也会闪烁。不确定这是否是一个好方法 new Thread(new Runnable() { public void run() { try { for(int i=0; i<count; i++) { remove(Image2

收到通知后,需要闪烁托盘图标。为此,我有两张图片。我正在使用
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();
new线程(new Runnable()){
公开募捐{
试一试{

对于(int i=0;i不确定如何通过
Thread runnable()
实现此功能

您可以使用创建托盘图标。要添加弹出窗口,您可以使用方法功能。

简单地用空白图标或不同颜色的图标替换的图像

您不应删除添加完整的
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();
new线程(new Runnable()){
公开募捐{
试一试{
TrayIcon TrayIcon=新TrayIcon(图1);
SystemTray.getSystemTray().add(trayIcon);
长时间内=1001*1l;

对于(int i=0;你是说MS Windows任务栏托盘图标吗?你能在这里发布你的代码以便我们可以帮助你吗?这不是一个很好的方法,因为操作系统需要在你删除任务栏内容时重新评估一次,在你重新添加任务栏内容时重新评估一次,这可能是闪烁发生的地方。你应该选择是的,我在系统托盘栏上添加了trayicon,我只需要像messenger一样闪烁图标,当有新消息时,它会闪烁