Java程序添加托盘图标和托盘弹出菜单

Java 1.6后可以添加托盘图标和托盘图标弹出菜单变的很方便,一般代码如下:

		if (SystemTray.isSupported()) { // 判断是否支持系统托盘
			URL url = this.getClass().getResource("/images/Trayicon.gif"); // 获取图片所在的URL
			ImageIcon icon = new ImageIcon(url); // 实例化图像对象
			Image image = icon.getImage(); // 获得Image对象
			TrayIcon trayIcon = new TrayIcon(image); // 创建托盘图标
			trayIcon.addMouseListener(new MouseAdapter() { // 为托盘添加鼠标适配器
				public void mouseClicked(MouseEvent e) { // 鼠标事件
					if (e.getClickCount() == 2) { // 判断是否双击了鼠标
						showFrame(); // 调用方法显示窗体
					}
				}
			});
			trayIcon.setToolTip("系统托盘"); // 添加工具提示文本
			PopupMenu popupMenu = new PopupMenu(); // 创建弹出菜单
			MenuItem exit = new MenuItem("退出"); // 创建菜单项
			//响应方法
			exit.addActionListener(new ActionListener() {

				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					
				}
			
			});
			
			popupMenu.add(exit); // 为弹出菜单添加菜单项
			trayIcon.setPopupMenu(popupMenu); // 为托盘图标加弹出菜弹
			SystemTray systemTray = SystemTray.getSystemTray(); // 获得系统托盘对象
			try {
				systemTray.add(trayIcon); // 为系统托盘加托盘图标
			} catch (Exception e) {
				e.printStackTrace();
			}
					
		}


调用的ShowFrame()方法就是显示主窗口。一般如下:

	public void showFrame() {
		this.setVisible(true); // 显示窗体
		this.setState(Frame.NORMAL);
	}
	
注意几点;

1、图片不支持ico的,用jpg、gif、png,16*16大小的最合适。

2、JDK必须1.6以上。

3、这段代码一般放在构造方法中,弹出菜单的响应方法自己添加。








你可能感兴趣的:(java,jdk,exception,image,url,工具)