`

给Java Swing程序添加系统托盘图标

阅读更多

给Swing程序添加系统图标需要用到两个主要的类:SystemTrayTrayIcon

  • 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);//将托盘图表添加到系统托盘
}

 

分享到:
评论
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 这个类在哪个包下啊?

相关推荐

Global site tag (gtag.js) - Google Analytics