这是我在这个论坛上的第一篇帖子,我真的希望它能尽快得到回复。我是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);
}
}发布于 2013-04-24 11:02:23
检查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();
}
}
}发布于 2014-10-22 20:25:55
tray.add(ti);
ti.setImageAutoSize(true);
ti.displayMessage("Message", "message", TrayIcon.MessageType.INFO);https://stackoverflow.com/questions/14341678
复制相似问题