使用Java实现系统托盘功能的介绍(附源码以及截图)
使用Java实现系统托盘功能的介绍(附源码以及截图)
发布时间:2016-12-28 来源:查字典编辑
摘要:Java中如何,实现系统托盘功能.示例图项目包结构图系统运行截图应用核心逻辑说明,隐藏到托盘实质就是讲窗体隐藏.即setVisible(fa...

Java中如何,实现系统托盘功能.

示例图

项目包结构图

使用Java实现系统托盘功能的介绍(附源码以及截图)1 使用Java实现系统托盘功能的介绍(附源码以及截图)2

系统运行截图

使用Java实现系统托盘功能的介绍(附源码以及截图)3

应用核心逻辑说明,隐藏到托盘实质就是讲窗体隐藏.即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学习
热门Java学习
编程开发子分类