使用Java实现系统托盘功能的介绍(附源码以及截图)
Java中如何,实现系统托盘功能.
示例图
项目包结构图
系统运行截图
应用核心逻辑说明,隐藏到托盘实质就是讲窗体隐藏.即setVisible(false),显示窗体即就是讲setVisible(true).
项目代码如下: 代码如下:
package org.pdp.frame; import java.awt.AWTException; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class MainFrame extends JFrame implements ActionListener{ private static final long serialVersionUID = -7078030311369039390L; private JMenu menu; private JMenuBar jmenuBar; private String [] jmItemName = {"置于托盘","系统退出"}; public MainFrame(){ super("电话薄"); init(); this.setSize(500,400); this.setJMenuBar(jmenuBar); this.setLocationRelativeTo(null); systemTray(); //系统托盘 } /** * 初始化界面 */ public void init(){ menu = new JMenu("系统窗体"); for(int i=0; i<jmItemName.length; i++){ JMenuItem menuItem = new JMenuItem(jmItemName[i]); menuItem.addActionListener(this); menu.add(menuItem); } this.jmenuBar = new JMenuBar(); this.jmenuBar.add(menu); } @Override public void actionPerformed(ActionEvent e) { String actions = e.getActionCommand(); if("置于托盘".equals(actions)){ this.setVisible(false); } if("系统退出".equals(actions)){ System.exit(0); } } /**系统托盘图标处理.*/ private void systemTray(){ if(SystemTray.isSupported()){ //判断系统是否支持托盘功能. URL resource = this.getClass().getResource("systray.jpg"); //获得图片路径 ImageIcon icon = new ImageIcon(resource); //创建图片对象 PopupMenu popupMenu = new PopupMenu(); //创建弹出菜单对象 MenuItem itemExit = new MenuItem("退出系统"); //创建弹出菜单中的退出项 MenuItem itemShow = new MenuItem("显示窗体"); //创建弹出菜单中的显示主窗体项. itemExit.addActionListener(new ActionListener() { //给退出像添加事件监听 @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); itemShow.addActionListener(new ActionListener() { //给窗体最小化添加事件监听. @Override public void actionPerformed(ActionEvent e) { setVisible(true); } }); popupMenu.add(itemExit); popupMenu.add(itemShow); TrayIcon trayIcon = new TrayIcon(icon.getImage(),"电话薄系统",popupMenu); SystemTray sysTray = SystemTray.getSystemTray(); try { sysTray.add(trayIcon); } catch (AWTException e1) { } } } /** * 主方法 * @param args */ public static void main(String[] args) { new MainFrame().setVisible(true); } }
以上是 使用Java实现系统托盘功能的介绍(附源码以及截图) 的全部内容,
来源链接:
utcz.com/p/206991.html