⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trayiconadvanced.java

📁 一个完全用J2SE6.0实现的TrayIcon例子
💻 JAVA
字号:
/**
 * A sample application of J2SE 6.0 TrayIocn
 *
 * @author Amooo
 * @version 1.00 06/07/11
 */

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 java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

public class TrayIconAdvanced extends JFrame {
    private TrayIcon ti;

    public static void main(String[] args) {
        TrayIconAdvanced frame = new TrayIconAdvanced();
        frame.setTitle("TrayIconAdvanced");
        frame.setVisible(true);
        frame.setSize(200, 65);
        frame.setLocation(300, 200);
    }

    public TrayIconAdvanced() {
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                if (SystemTray.isSupported()) {
                    setVisible(false);
                    minimizeToTray();
                } else {
                    System.exit(0);
                }
            }
        });
        JPanel root = new JPanel();
        JButton exitButton = new JButton("Exit");
        exitButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        root.add(exitButton);
        getContentPane().add(root);
        pack();

        initTi();
    }

    private void initTi() {
        Image image = Toolkit.getDefaultToolkit().getImage(
                this.getClass().getResource("TrayIcon.png"));
        PopupMenu popupTi = new PopupMenu();
        MenuItem showItem = new MenuItem("Show");
        ActionListener showListener = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                setVisible(true);
                SystemTray.getSystemTray().remove(ti);
            }
        };
        showItem.addActionListener(showListener);
        popupTi.add(showItem);
        ti = new TrayIcon(image, "TrayIcon", popupTi);
        ti.addActionListener(showListener);
    }

    public void minimizeToTray() {
        SystemTray tray = SystemTray.getSystemTray();
        try {
            tray.add(ti);
        } catch (AWTException e) {
            System.err.println(e);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -