给Swing程序添加系统图标需要用到两个主要的类:SystemTray和TrayIcon。
- SystemTray 通常用于判断系统是否支持托盘图标和添加系统图标功能;
- TrayIcon 用来创建一个图标,然后需要使用SystemTray将add进去;在图标上可以添加PopupMenu和MenuItem,构成功能菜单
示例代码:
if(SystemTray.isSupported()){//判断系统是否托盘
//创建一个托盘图标对象
TrayIcon icon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(Clock.class.getResource("/javax/swing/plaf/basic/icons/JavaCup16.png")));
//创建弹出菜单
PopupMenu menu = new PopupMenu();
//添加一个用于退出的按钮
MenuItem item = new MenuItem("退出");
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
menu.add(item);
//添加弹出菜单到托盘图标
icon.setPopupMenu(menu);
SystemTray tray = SystemTray.getSystemTray();//获取系统托盘
tray.add(icon);//将托盘图表添加到系统托盘
}