java menuitem 图标_java程序如何实现右下角系统托盘图标显示

import java.awt.AWTException;

import java.awt.Image;

import java.awt.MenuItem;

import java.awt.PopupMenu;

import java.awt.SystemTray;

import java.awt.Toolkit;

import java.awt.TrayIcon;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

public class MySystemTray extends JFrame{

public MySystemTray() {

init();

}

public void init() {

this.setSize(300, 200);

this.setLocationRelativeTo(null);

this.setTray();

this.setVisible(true);

}

//添加托盘显示:1.先判断当前平台是否支持托盘显示

public void setTray() {

if(SystemTray.isSupported()){//判断当前平台是否支持托盘功能

//创建托盘实例

SystemTray tray = SystemTray.getSystemTray();

//创建托盘图标:1.显示图标Image 2.停留提示text 3.弹出菜单popupMenu 4.创建托盘图标实例

//1.创建Image图像

Image image = Toolkit.getDefaultToolkit().getImage("trayIconImage/clientIcon.jpg");

//2.停留提示text

String text = "MySystemTray";

//3.弹出菜单popupMenu

PopupMenu popMenu = new PopupMenu();

MenuItem itmOpen = new MenuItem("打开");

itmOpen.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

Show();

}

});

MenuItem itmHide = new MenuItem("隐藏");

itmHide.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

UnVisible();

}

});

MenuItem itmExit = new MenuItem("退出");

itmExit.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

Exit();

}

});

popMenu.add(itmOpen);

popMenu.add(itmHide);

popMenu.add(itmExit);

//创建托盘图标

TrayIcon trayIcon = new TrayIcon(image,text,popMenu);

//将托盘图标加到托盘上

try {

tray.add(trayIcon);

} catch (AWTException e1) {

e1.printStackTrace();

}

}

}

//内部类中不方便直接调用外部类的实例(this不能指向)

public void UnVisible() {

this.setVisible(false);

}

public void Show() {

this.setVisible(true);

}

public void Exit() {

System.exit(0);

}

public static void main(String[] args) {

new MySystemTray();

}

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值