[Java How To Programming] [Home on 246net] [Home on Alles net]
Powered by SmartDoc

SystemTrayを使う

TAKAHASHI, Toru
torutk@02.246.ne.jp

目次

システムトレイを使用することができるようになります。WindowsでもUNIXのX環境でも利用可能です。

最初のサンプル

Java APIのドキュメント(Javadoc)のjava.awt.SystemTrayに例が示されていますが、それとほぼ同じコードを示します。

SystemTraySample
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 is not supported!");
            return;
        }
        SystemTray tray = SystemTray.getSystemTray();
        Image image = Toolkit.getDefaultToolkit().getImage(args[0]);

        PopupMenu popup = new PopupMenu();
        MenuItem defaultItem = new MenuItem("mustang");
        defaultItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ev) {
                    System.out.println("popup action");
                }
            });
        popup.add(defaultItem);

        TrayIcon trayIcon = new TrayIcon(image, "Tray Demo", popup);
        trayIcon.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ev) {
                    System.out.println("trayIcon action");
                }
            });
        tray.add(trayIcon);
    }
}