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

项目代码如下:

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

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);

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值