Java Swing控件桌面程序 显示托盘图标

来源:互联网 发布:数据挖掘导论课后答案 编辑:程序博客网 时间:2024/05/16 05:21

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

  • SystemTray 通常用于判断系统是否支持托盘图标和添加系统图标功能;
  • TrayIcon 用来创建一个图标,然后需要使用SystemTray将add进去;在图标上可以添加PopupMenu和MenuItem,构成功能菜
  • package s;import java.awt.AWTException;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 java.time.Clock;public class a {public static void main(String[] args) {if(SystemTray.isSupported()){//判断系统是否托盘//创建一个托盘图标对象TrayIcon icon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(Clock.class.getResource("/images/21.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();//获取系统托盘try {tray.add(icon);} catch (AWTException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//将托盘图表添加到系统托盘}}} 

    注意:
    1、TrayIcon icon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(Clock.class.getResource("/images/21.png")));
    这句话,是用来创建一个icon,还可以加参数,比如 
  •  trayIcon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(Clock.class.getResource("/images/21.png")), "seara", popup);// 创建trayIcon
中间的参数是显示托盘名称的。
2、这里的图片路径非常容易出错。注意操作步骤,要现在项目里新建一个resources文件夹,然后使用buildpath将这个文件加入到resouce;在resources文件夹下,建立images文件夹,将图片文件放入其中。
0 0