import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.ImageIcon;

public class Tray implements ActionListener {
    String code;
    TrayIcon trayIcon1, trayIcon2;
    SystemTray tray1, tray2;

    public static Thread startThread;

    public Tray() throws Exception {
        //判断系统是否支持System Tray
        if (!SystemTray.isSupported()) {
            System.out.println("System Tray is not supported");
            return;
        } else {
            //菜单初始化
            MenuItem exitItem1 = new MenuItem("Exit");
            MenuItem configItem1 = new MenuItem("Config");
            exitItem1.addActionListener(this);
            configItem1.addActionListener(this);
            exitItem1.setActionCommand("Exit");
            configItem1.setActionCommand("Config");

            MenuItem exitItem2 = new MenuItem("Exit");
            MenuItem configItem2 = new MenuItem("Config");
            exitItem2.addActionListener(this);
            configItem2.addActionListener(this);
            exitItem2.setActionCommand("Exit");
            configItem2.setActionCommand("Config");

            PopupMenu popupMenu1 = new PopupMenu();
            PopupMenu popupMenu2 = new PopupMenu();
            popupMenu1.add(configItem1);
            popupMenu1.add(exitItem1);
            popupMenu2.add(configItem2);
            popupMenu2.add(exitItem2);

            String currentDir = System.getProperty("user.dir");
            Image image = new ImageIcon(currentDir + "\\src\bg.png").getImage();

            //系统托盘初始化
            trayIcon1 = new TrayIcon(image, null, popupMenu1);
            trayIcon1.setImageAutoSize(true);
            tray1 = SystemTray.getSystemTray();
            tray1.add(trayIcon1);

            trayIcon2 = new TrayIcon(image, null, popupMenu2);
            trayIcon2.setImageAutoSize(true);
            tray2 = SystemTray.getSystemTray();
            tray2.add(trayIcon2);

            //执行任务
            startStock();
        }

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //菜单响应
        String action = e.getActionCommand();

        if (action.equals("Exit")) {
            System.exit(0);
        }

        if (action.equals("Config")) {
            //打开配置面板
            ConfigGui config = new ConfigGui();
            config.setVisible(true);
        }
    }


    public void startStock() throws Exception {
        startThread = new Thread(new TrayUpdate(trayIcon1, trayIcon2));
        startThread.start();
    }

    public static void main(String[] args) throws Exception {
        new Tray();
    }
}
