Java实现把窗体隐藏到系统托盘方法
时间:2021-03-28 09:18:24|栏目:JAVA代码|点击: 次
系统托盘也就是桌面右下角的图标。。
此程序实现的功能是点击窗体关闭按钮不退出程序,而是隐藏到系统托盘里面。
实质上也只是把窗体不可见了。。。


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.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class TestTray extends JFrame {
private static final long serialVersionUID = -7078030311369039390L;
public TestTray() {
this.setSize(500, 400);
this.setLocationRelativeTo(null);// 把窗体设置在屏幕中间
systemTray(); // 设置系统托盘
// 添加关闭按钮事件,关闭时候实质是把窗体隐藏
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
TestTray.this.setVisible(false);
}
});
this.setVisible(true);
}
/**
* 处理系统托盘
*/
private void systemTray() {
if (SystemTray.isSupported()) { // 判断系统是否支持托盘功能.
// 创建托盘右击弹出菜单
PopupMenu popupMenu = new PopupMenu();
//创建弹出菜单中的退出项
MenuItem itemExit = new MenuItem("退出系统");
itemExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popupMenu.add(itemExit);
//创建托盘图标
ImageIcon icon = new ImageIcon("img/icon.png"); // 创建图片对象
TrayIcon trayIcon = new TrayIcon(icon.getImage(), "测试系统托盘",
popupMenu);
trayIcon.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
TestTray.this.setVisible(true);
}
});
//把托盘图标添加到系统托盘
//这个可以点击关闭之后再放到托盘里面,在此是打开程序直接显示托盘图标了
try {
SystemTray.getSystemTray().add(trayIcon);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) {
new TestTray();
}
}
上一篇:Java获取http和https协议返回的json数据
栏 目:JAVA代码
下一篇:SpringCloud实现SSO 单点登录的示例代码
本文标题:Java实现把窗体隐藏到系统托盘方法
本文地址:http://www.codeinn.net/misctech/89960.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




