给swing桌面程序新建一个系统托盘

可以在jframe的构造方法中加入如下方法:

//新建系统托盘
        private void createSystemTray() {
                try {
                        // 判断当前平台是否支持系统托盘
                        if (SystemTray.isSupported()) {
                                // 获得系统托盘
                                SystemTray st = SystemTray.getSystemTray();

                                // 新建一个系统托盘按钮并制定图片
                                Image image = Toolkit.getDefaultToolkit().getImage(systemTrayPicPath);// 定义托盘图标的图片
                                TrayIcon ti = new TrayIcon(image);

                                // 定义这个新建的托盘按钮
                                ti.setToolTip(TtConfig.msg.getProperty("title.system.tray"));
                                ti.addMouseListener(new MouseAdapter() {
                                        public void mouseClicked(MouseEvent e) {
                                                if (e.getButton() == MouseEvent.BUTTON1)// 鼠标左键单击,打开窗体
                                                        Main.getInstance().setVisible(!Main.getInstance().isVisible());
                                                Main.getInstance().setExtendedState(JFrame.NORMAL);
                                        }
                                });
                                PopupMenu p = new PopupMenu("OK");

                                MenuItem m1 = new MenuItem(TtConfig.msg.getProperty("menu.tray.open"));
                                m1.addActionListener(new ActionListener() {
                                        public void actionPerformed(ActionEvent e) {
                                                Main.getInstance().setVisible(true);
                                                Main.getInstance().setExtendedState(JFrame.NORMAL);
                                        }
                                });
                                p.add(m1);
                                p.addSeparator();
                                MenuItem m = new MenuItem(TtConfig.msg.getProperty("menu.tray.close"));
                                m.addActionListener(new ActionListener() {
                                        public void actionPerformed(ActionEvent e) {
                                                System.exit(0);
                                        }
                                });
                                p.add(m);
                                ti.setPopupMenu(p); // 为托盘添加右键菜单

                                // 将定义好的托盘按钮绑定到系统图盘上
                                st.add(ti);
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

 

效果如下:


 

第一个小图标即是我的swing程序在系统托盘中的图标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值