torutkのブログ

ソフトウェア・エンジニアのブログ

J2SE 6.0(Mustang) b38メモ(SystemTrayサンプル)

5月26日にMustang b38がリリースされています。

今回の注目機能は、

リソースバンドルを実行中に変更できるようです。ちょっと嬉しいかも。

java.awt.SystemTrayクラスが追加されました。ちょっと嬉しいかも。

SystemTrayのサンプルコード

import java.awt.TrayIcon;
import java.awt.SystemTray;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.PopupMenu;
import java.awt.MenuItem;

public class SystemTraySample {
    
    public static void main(final String[] args) {
        if (!SystemTray.isSupported()) {
            System.out.println("SystemTrayはサポートされません");
            return;
        }
        SystemTray tray = SystemTray.getSystemTray();
        Image image = Toolkit.getDefaultToolkit().getImage("image/duke.gif");

        PopupMenu popup = new PopupMenu();
        MenuItem defaultItem = new MenuItem("mustang");
        defaultItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ev) {
                    System.out.println("ポップアップが操作された");
                }
            });
        popup.add(defaultItem);

        TrayIcon trayIcon = new TrayIcon(image, "Tray Demo", popup);
        trayIcon.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ev) {
                    System.out.println("アイコンが操作された");
                }
            });
        tray.add(trayIcon);
    }
}