系统托盘支持

204 阅读1分钟

1.程序代码:

package com.lsh;

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

import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

public class test1 {

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                constructGUI();
            }
        });
    }

    private static void constructGUI() {
        if (!SystemTray.isSupported()) {// tray:盘,托盘,塑料盒
            System.out.println("SystemTray is not supported!");
            return;
        }
        SystemTray tray = SystemTray.getSystemTray();
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        Image image = toolkit.getImage("res/tray.jpg");// 图片位于src同目录的res文件夹下
        PopupMenu menu = new PopupMenu();
        MenuItem menuItem = new MenuItem("show Message");
        menuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                JOptionPane.showMessageDialog(null, "JAVA 6 - Mustang");
            }
        });
        menu.add(menuItem);
        MenuItem closeItem = new MenuItem("Close");
        closeItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                System.exit(0);
            }
        });
        menu.add(closeItem);
        TrayIcon icon = new TrayIcon(image, "SystemTray Demo", menu);
        icon.setImageAutoSize(true);
        try {
            tray.add(icon);
        } catch (AWTException e1) {
            // TODO Auto-generated catch block
            // e1.printStackTrace();
            System.err.println("could not add tray icon to system tray!");
        }
    }
}

2.运行效果

这里写图片描述

3.Java Toolkit类用法:
一个AWT工具箱。它提供对本地GUI最低层次的JAVA访问。在大多情况下,这个类不直接用在小应用程序或应用程序中。具有把行图形数据转换为可显示的图像、返回字体信息、得出显示尺寸和分辨率以及获得系统属性信息的方法。