给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);//将托盘图表添加到系统托盘
}
分享到:
2010-06-20 16:22
浏览 4313
评论
4 楼
iridiumcao
2011-12-21
我本机上试了下,中文支持有问题,还在找原因中。
3 楼
Vicent_Lee
2011-05-19
zywang 写道
Vicent_Lee 写道
SystemTray 这个类在哪个包下啊?
完整类名:java.awt.SystemTray
谢谢、找到原因了、我JDK版本太低了、升级到JDK1.6就没问题了、
2 楼
zywang
2011-05-19
Vicent_Lee 写道
SystemTray 这个类在哪个包下啊?
完整类名:java.awt.SystemTray
1 楼
Vicent_Lee
2011-05-19
SystemTray 这个类在哪个包下啊?