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();
}
}