trayicon.displaymessage文本大小java

时间:2013-01-15 16:00:10

标签: java trayicon

这是我在这个论坛上的第一篇文章,我真的希望尽快得到答复。我是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);

  }
  }

2 个答案:

答案 0 :(得分: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();
        }
    }
}

答案 1 :(得分:0)

tray.add(ti);
ti.setImageAutoSize(true);
ti.displayMessage("Message", "message", TrayIcon.MessageType.INFO);