import java.awt.*;
import java.awt.TrayIcon.MessageType;
import java.awt.event.*;
import javax.swing.*;
public class MyDemo extends JFrame
{
/*
* 系统托盘使用 SystemTray类 托盘图标使用trayIcon类
*
* */
public MyDemo()
{
this.addWindowListener(new WindowAdapter()// 系统关闭事件
{
public void windowClosing(WindowEvent e)
{setVisible(false);}
});
this.setSize(200,200);
this.setVisible(true);
}
private void SystemTrayInitial() {// 托盘
if (!SystemTray.isSupported()) // 判断当前系统是否支持系统栏
return;
try {
String title = "学院管理系统\n华育国际长沙软件学院";//设置提示文本信息
SystemTray sysTray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
MyDemo.class.getResource("/icons/sysTray.png"));//获取MyDemo类的class文件路径下的图标
TrayIcon trayicon = new TrayIcon(image, title,createMenu());//创建托盘图标:由图标、文本、右击菜单组成
trayicon.setImageAutoSize(true);//设置是否自动调整图标的大小
trayicon.addActionListener(new ActionListener()//双击图标时显示窗体
{
public void actionPerformed(ActionEvent e) {
setVisible(true);
toFront();
}
});
sysTray.add(trayicon);
trayicon.displayMessage(title, title, MessageType.INFO);//窗体托盘时所显示的消息对话框
} catch (Exception e) {
e.printStackTrace();
}
}
private PopupMenu createMenu() { // 创建系统栏菜单的方法
PopupMenu menu = new PopupMenu();
MenuItem exitItem = new MenuItem("退出");
exitItem.addActionListener(new ActionListener() { // 系统栏退出事件
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
MenuItem openItem = new MenuItem("打开");
openItem.addActionListener(new ActionListener() {// 系统栏打开菜单项事件
public void actionPerformed(ActionEvent e) {
if (!isVisible()) {
setVisible(true);
toFront();
} else
toFront();
}
});
menu.add(openItem);
menu.addSeparator();
menu.add(exitItem);
return menu;
}
public static void main(String[] args)
{
MyDemo demo=new MyDemo();
demo.SystemTrayInitial();
}
}