首页 > 编程语言 >swing程序最小化至系统托盘

swing程序最小化至系统托盘

时间:2022-11-07 11:34:26浏览次数:46  
标签:java 系统托盘 awt new MenuItem swing 最小化 import frame

将  0.png 放到 d:\a\0.png (没找到上传附件的地方,也是醉了,随便下载个png  即可)路径下,然后运行即可

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;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
/**
* swing程序最小化至系统托盘
* @author yll
*/
public class TestSysteTray {
public static void main(String args[]) {

TrayIcon trayIcon = null;
if (SystemTray.isSupported()) // 判断系统是否支持系统托盘
{
SystemTray tray = SystemTray.getSystemTray(); // 创建系统托盘
Image image = Toolkit.getDefaultToolkit().getImage("D:\\a\\0.png");// 载入图片,这里要写你的图标路径哦

ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame frame = new JFrame();
frame.setBounds(400, 400, 200, 200);// 界面大小
JLabel label = new JLabel("欢迎使用托盘系统");
frame.add(label);
frame.setVisible(true);
}

};
// 创建弹出菜单
PopupMenu popup = new PopupMenu();
//主界面选项
MenuItem mainFrameItem = new MenuItem("main frame");
mainFrameItem.addActionListener(listener);

//退出程序选项
MenuItem exitItem = new MenuItem("exit");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (JOptionPane.showConfirmDialog(null, "确定退出系统") == 0) {
System.exit(0);
}
}
});

popup.add(mainFrameItem);
popup.add(exitItem);

trayIcon = new TrayIcon(image, "托盘图标", popup);// 创建trayIcon
trayIcon.addActionListener(listener);
try {
tray.add(trayIcon);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}
}

标签:java,系统托盘,awt,new,MenuItem,swing,最小化,import,frame
From: https://blog.51cto.com/u_15862653/5828355

相关文章

  • Java swing 连连看小游戏 开发小系统 项目源代码 实训实验毕设
    Javaswing连连看小游戏开发小系统项目源代码实训实验能满足学习和二次开发可以作为初学者熟悉Java的学习,作为老师阶段性学习的一个成功检验不再是单调的理解老师空泛......
  • 【证明】期望风险最小化等价后验概率最大化
    目录引言证明结论引言在《统计学习方法》一书中,详细说明了期望风险最小化与后验概率最大化之间的关系,但是其中的公式推导过程有所省略,这篇文章作为补充说明。证明首先......
  • 2035. 将数组分成两个数组并最小化数组和的差
    题目描述给一个长度是2*n的数组,需要将数组分成两个长度为n的数组问怎么划分,可以让两个数组和的差的绝对值最小?f1-折半枚举+排序+二分基本分析1.题意怎么转化?两个数组......
  • QSystemTrayIcon增加系统托盘图标Demo
    先看一下效果:代码如下#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QMenu>#include<QSystemTrayIcon>#include<QCloseEvent>namespaceUi{......
  • java-Swing常用组件-1
    文章目录​​Swing常用组件​​Swing常用组件......
  • AWT+Swing实现百度图像识别
    1准备1.1在百度智能云中创建自己的应用,得到APIKey和SecretKey1.2maven导入SDK依赖2源码 importjava.net.URLEncoder;/***植物识别*/publicclassPlant......
  • AWT+Swing区别
    AWT是AbstractWindowToolKit(抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT中的图形函数与操作系统所提供的图形函数之间有着一一对......
  • 最小化及关闭远程桌面后键盘与鼠标仍处于可交互状态
    默认情况下,当用户没有在Windows上执行任何输入(没有鼠标键盘等的输入)并保持一定时间后,Windows会自动切换到锁屏模式(或屏保模式),甚至待机。一般情况下,这样不会有任......
  • CentOS最小化安装后找不到ifconfig命令
    1.ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端......
  • centOS7图形化安装(最小化安装的基础上安装)
    ┌──[root@vms81.liruilongs.github.io]-[~/awx-operator]└─$yumgrouplist已加载插件:fastestmirror没有安装组信息文件Mayberun:yumgroupsmarkconvert(see......