java系统托盘
读前先知操作类:SystemTrayUtil.java
图标:QQ.jpg
上述所要资料:系统托盘_附件
实例:
package com.qingshan.utils;import java.awt.AWTException;import java.awt.Image;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.Toolkit;import java.awt.TrayIcon;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;/** * <pre> * 本例用于演示awt中的系统托盘 * </pre> * <hr Color="green" ></hr>* 2012 Qingshan Group 版权所有 * <hr Color="green" ></hr>* @authorthetopofqingshan * @version 1.0.0 * @since JDK 1.5 * @date 2012-5-1 */public class SystemTrayUtil{public static void main(String[] args) {new SystemTrayUtil().openFrame();}private JFrame frame;//框架private SystemTray tray;//系统托盘对象private TrayIcon trayIcon;//托盘所代表的图标public void openFrame(){this.frame = new JFrame("用于测试系统托盘而使用");//this.frame.setAlwaysOnTop(true);//是否最后前this.frame.add(new JButton("试试而已"));//在框架中加入一个按钮frame.setBounds(100, 0, 450, 200);//设置框架大小this.frame.setVisible(true);//显示框架run();}public void run(){Image image = Toolkit.getDefaultToolkit().getImage("./src/com/qingshan/utils/show.jpg");//指定托盘图标的图像//判断该系统是否支持"系统托盘"if (SystemTray.isSupported()) {tray = SystemTray.getSystemTray();ActionListener listener = new ActionListener() {public void actionPerformed(ActionEvent e) {System.out.println(frame.getState());//框架的状态String cmd = e.getActionCommand();//获得托盘的事件或点击图标弹出菜单的菜单项System.out.println(cmd);//根据不同事件进行不同的逻辑处理if(cmd == null){frame.setVisible(true);frame.setState(1);}else if(cmd.equals("退出")){frame.dispose();tray.remove(trayIcon);}else if(cmd.equals("弹出错误消息")){trayIcon.displayMessage("类型:错误消息", "不好意思,出了点小错", TrayIcon.MessageType.ERROR);}else if(cmd.equals("弹出提示消息")){trayIcon.displayMessage("类型:提示消息", "您好, 请输入...", TrayIcon.MessageType.INFO);}else if(cmd.equals("弹出空消息")){trayIcon.displayMessage("类型:没有", "这里没有什么消息", TrayIcon.MessageType.NONE);}else if(cmd.equals("弹出警告消息")){trayIcon.displayMessage("警告", "这样做并不好吧", TrayIcon.MessageType.WARNING);}else if(cmd.equals("隐藏主窗口")){frame.setVisible(false);}else if(cmd.equals("打开主窗口")){frame.setVisible(true);}}};//创建弹出菜单PopupMenu popup = new PopupMenu();//以下将各个菜单项加入到弹出菜单中MenuItem close = new MenuItem("打开主窗口");close.addActionListener(listener);popup.add(close);MenuItem hidden = new MenuItem("隐藏主窗口");hidden.addActionListener(listener);popup.add(hidden);MenuItem defaultItem = new MenuItem("退出");defaultItem.addActionListener(listener);popup.add(defaultItem);MenuItem ERROR = new MenuItem("弹出错误消息");ERROR.addActionListener(listener);popup.add(ERROR);MenuItem INFO = new MenuItem("弹出提示消息");INFO.addActionListener(listener);popup.add(INFO);MenuItem NONE = new MenuItem("弹出空消息");NONE.addActionListener(listener);popup.add(NONE);MenuItem WARNING = new MenuItem("弹出警告消息");WARNING.addActionListener(listener);popup.add(WARNING);//创建系统托盘图标trayIcon = new TrayIcon(image, "测试awt中的托盘", popup);trayIcon.addActionListener(listener);try {tray.add(trayIcon);} catch (AWTException e) {System.err.println(e);}} else {//系统不支持托盘}//这里可以备用if (trayIcon != null) {trayIcon.setImage(image);}}}转载注明原文地址:http://thetopofqingshan.iteye.com/admin/blogs/1506575
页:
[1]