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 に答える