Java桌面软件最小化的系统托盘(SystemTray)
2014-10-30 10:25
351 查看
Java编写的Swing或AWT桌面软件如何在关闭或者最小化时可以像QQ一样退出到系统托盘(SystemTray)。这里主要用到的类是java.awt.SystemTray和java.awt.TrayIcon。SystemTray表示系统托盘,通过这个类就可以获取操作系统的系统托盘对象。TrayIcon表示系统托盘的图标。在操作系统托盘前首先需要将系统托盘的图标设置好。
第二,设置图标图标的右击菜单:
第三,新建托盘图标:
第四,设置托盘图标双击事件(双击时打开桌面软件并删除托盘图标):
这样系统托盘图标就设置好了,可供调用了。
第二,最小化软件时向系统托盘添加系统图标
第三,双击托盘中的图标时恢复软件界面并删除托盘图标
(托盘的所有事件操作均在上面在设置系统托盘图标时完成。这里不用写)
如下图所示为软件最小化时的系统托盘:
右击图标发现有右击菜单:
全文结束。
1 设置托盘图标(TrayIcon)
第一,新建托盘图标的图片:Image image = Toolkit.getDefaultToolkit() .getImage(this.getClass().getResource("Logo_TrayIcon.png"));
第二,设置图标图标的右击菜单:
PopupMenu popup = new PopupMenu(); MenuItem showItem = new MenuItem("显示"); MenuItem exitItem = new MenuItem("退出"); popup.add(showItem); popup.add(exitItem); showItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { frame.setVisible(true); //界面可见 frame.setExtendedState(JFrame.MAXIMIZED_BOTH); // 界面全屏 SystemTray.getSystemTray().remove(trayIcon); //托盘图标删除 } }); exitItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { systemTryToExit(); //退出软件 } });
第三,新建托盘图标:
TrayIcon trayIcon = new TrayIcon(image, "这是系统托盘", popup);
第四,设置托盘图标双击事件(双击时打开桌面软件并删除托盘图标):
trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) {// 双击托盘窗口再现 frame.setVisible(true); //界面可见 frame.setExtendedState(JFrame.MAXIMIZED_BOTH); // 界面全屏 SystemTray.getSystemTray().remove(trayIcon); //托盘图标删除 } } });
这样系统托盘图标就设置好了,可供调用了。
2 设置系统托盘对象
第一,系统托盘类采用的是单例模式。获取系统托盘对象的方式如下:SystemTray tray = SystemTray.getSystemTray();
第二,最小化软件时向系统托盘添加系统图标
try { tray.add(this.trayIcon); //trayIcon是上述的系统托盘图标 } catch (AWTException ex) { ex.printStackTrace(); }
第三,双击托盘中的图标时恢复软件界面并删除托盘图标
(托盘的所有事件操作均在上面在设置系统托盘图标时完成。这里不用写)
如下图所示为软件最小化时的系统托盘:
右击图标发现有右击菜单:
全文结束。
相关文章推荐
- C#实现winform软件开机自动启动并最小化到系统托盘
- Java桌面程序最小化到托盘
- C#实现winform软件开机自动启动并最小化到系统托盘
- java窗口怎样最小化到系统托盘
- java swing 点击关闭按钮最小化到系统托盘的实现
- java实现最小化到系统托盘图标的代码
- JAVA桌面程序启动时最小化到托盘(未测试:需jdk6.0)
- C#实现winform软件开机自动启动并最小化到系统托盘
- Java中窗口最小化到系统托盘
- Java桌面应用程序创建系统托盘图标
- 将VMware最小化到系统托盘,而不是任务栏(also适用于其他软件)
- 如何让java程序最小化至系统托盘
- Java JFrame设计及最小化到系统托盘的实现
- java Swing 实现将系统最小化到系统托盘
- C#实现winform软件开机自动启动并最小化到系统托盘
- [JAVA]从零开始的“桌面宠物”之路(二):系统托盘与任务栏
- 关闭时最小化到系统托盘中的单实例应用程序
- VC实现最小化后在系统托盘显示_转http://k1983.blog.sohu.com/47997964.html
- 利用Java技术编写桌面软件基础
- 关闭时最小化到系统托盘中的单实例应用程序