packagecom.zs;importjava.awt.AWTException;importjava.awt.CheckboxMenuItem;importjava.awt.Frame;importjava.awt.Image;importjava.awt.Menu;importjava.awt.MenuItem;importjava.awt.PopupMenu;importjava.awt.SystemTray;importjava.awt.Toolkit;importjava.awt.TrayIcon;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.net.MalformedURLException;public classMyTaskTray {public static void main(String arg[]) throwsMalformedURLException {final Frame frame = new Frame("");
frame.setUndecorated(true);//检查系统托盘是否支持
if (!SystemTray.isSupported()) {
System.out.println("系统托盘不支持");return;
}//1.创建托盘图标
Image image =Toolkit.getDefaultToolkit().getImage("view\\config\\resource\\ClientTrayIcon.jpg");//2.停留提示text
String text = "停留此处提示";//创建弹出菜单
final PopupMenu popup =createPopupMenu();final TrayIcon trayIcon = newTrayIcon(image, text, popup);final SystemTray tray =SystemTray.getSystemTray();
trayIcon.setPopupMenu(popup);
trayIcon.addMouseListener(newMouseAdapter() {
@Overridepublic voidmouseClicked(MouseEvent e) {if (e.getButton() ==MouseEvent.BUTTON1) {
frame.add(popup);
popup.show(frame, e.getXOnScreen(), e.getYOnScreen());
}
}
});try{
frame.setResizable(false);
frame.setVisible(true);
tray.add(trayIcon);
}catch(AWTException e) {
System.out.println("异常:添加托盘图标失败");
}
}protected staticPopupMenu createPopupMenu() {final PopupMenu popup = newPopupMenu();
MenuItem aboutItem= new MenuItem("关于");
CheckboxMenuItem cb1= new CheckboxMenuItem("设置1");
CheckboxMenuItem cb2= new CheckboxMenuItem("设置2");
Menu displayMenu= new Menu("测试");
MenuItem errorItem= new MenuItem("测试4");
MenuItem warningItem= new MenuItem("测试3");
MenuItem infoItem= new MenuItem("测试2");
MenuItem noneItem= new MenuItem("测试1");
MenuItem exitItem= new MenuItem("退出");//Add components to pop-up menu
popup.add(aboutItem);
popup.addSeparator();
popup.add(cb1);
popup.add(cb2);
popup.addSeparator();
popup.add(displayMenu);
displayMenu.add(errorItem);
displayMenu.add(warningItem);
displayMenu.add(infoItem);
displayMenu.add(noneItem);
popup.add(exitItem);returnpopup;
}
}