1

这是我在这个论坛的第一篇文章,我真的希望它会尽快得到答复。我是 Java 新手,喜欢经常尝试不同的东西。我想用Java制作简单的气球消息应用程序,它会在系统托盘中的某个时间弹出,随着时间的推移传达不同的消息。只是想知道我是否可以更改气球消息的文本大小。此外,如果有人可以帮助我解决消息出现和消失的时间间隔和延迟。以下是我尝试过的代码,请考虑一下以帮助我解决这个问题。

import java.awt.Image;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import javax.swing.ImageIcon;


 public class BubbleMessages {


 public static void main(String[] args) throws Exception{
    SystemTray tray = SystemTray.getSystemTray();
  Image i = new ImageIcon("resources/bulb.gif").getImage();
  TrayIcon ti = new TrayIcon(i);
  tray.add(ti);
  ti.displayMessage("Message", "message", TrayIcon.MessageType.INFO);

  }
  }
4

2 回答 2

0

检查api。用户单击该消息将自动消失。

如果要再次显示消息,可以使用Timer

您可以像这样修改代码

import java.awt.Image;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import javax.swing.ImageIcon;
public class BubbleMessages {
    private static TrayIcon ti;
    public static void main(String[] args) throws Exception{
        SystemTray tray = SystemTray.getSystemTray();
        Image i = new ImageIcon("resources/bulb.gif").getImage();
        ti = new TrayIcon(i);
        tray.add(ti);
        MessageDisplayTask mdt = new MessageDisplayTask(ti);
        java.util.Timer timer = new java.util.Timer("DM");
        timer.schedule(mdt, 0, 10000);//Every three seconds, it shows a message
    }
}
class MessageDisplayTask extends java.util.TimerTask {
    private TrayIcon ti;
    private int displayCount = 0;
    public MessageDisplayTask(TrayIcon ti){
        this.ti = ti;
    }
    public void run() {
        displayCount++;
        if (displayCount <= 10) {
            ti.displayMessage("Message", "Message#" + displayCount, TrayIcon.MessageType.INFO);
        } else {
            //Stop Timer.
            this.cancel();
        }
    }
}
于 2013-04-24T03:02:22.740 回答
0
tray.add(ti);
ti.setImageAutoSize(true);
ti.displayMessage("Message", "message", TrayIcon.MessageType.INFO);
于 2014-10-22T12:25:54.573 回答