实现的功能:点击最小化,窗口最小化到托盘,点击托盘中的图标,显示原窗口

效果图:


源代码:

import java.awt.*;import java.awt.event.*;import java.net.URL;import javax.swing.*;public class Copyapk{protected static final int NORMAL = 0;public static void main(String[] args) {//创建窗口对象JFrame jFrame = new JFrame("window");//设置窗口大小jFrame.setSize(500,600);//窗口图标URL imageurl = GUItest.class.getClassLoader().getResource("QQ图片20201222173057.jpg");Image image = new ImageIcon(imageurl).getImage();//设置窗口图标jFrame.setIconImage(image);//设置窗口居中显示jFrame.setLocationRelativeTo(null);//设置窗口可见jFrame.setVisible(true);//窗口关闭时退出程序jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//不允许改变窗口大小jFrame.setResizable(false);//设置托盘图标TrayIcon trayIcon = new TrayIcon(image);//创建托盘图标对象SystemTray systemTray = SystemTray.getSystemTray();//设置托盘图标大小自适应trayIcon.setImageAutoSize(true);// 窗口监听jFrame.addWindowListener(new WindowAdapter() { // 窗口最小化事件public void windowIconified(WindowEvent e) { try {//窗口最小化时显示托盘图标systemTray.add(trayIcon);} catch (AWTException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//设置窗口不可见jFrame.setVisible(false);}});//鼠标监听trayIcon.addMouseListener(new MouseAdapter() {//鼠标点击事件@Overridepublic void mouseClicked(MouseEvent e) {//鼠标点击次数int clt = e.getClickCount();if (clt == 1) {//鼠标点击托盘图标一次,恢复原窗口jFrame.setExtendedState(NORMAL);}//托盘图标消失systemTray.remove(trayIcon);//设置窗口可见jFrame.setVisible(true);}});}}
©著作权归作者所有:来自51CTO博客作者小甜甜?的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. css的cursor样式
  2. 关于获取各种浏览器可见窗口大小的一点点研究
  3. 【uni-app】引入阿里巴巴图标库
  4. 【微信小程序】引入阿里巴巴图标库iconfont
  5. 用 Python 给微信头像加个圣诞老人(平安果)小图标
  6. 如何让Mac电脑在Finder窗口顶部显示文件路径?
  7. 单位em和rem区别,box-sizing定义边界,VW和VH,字体图标,定位原理
  8. 在苹果Mac上如何自定 Safari 浏览器窗口?
  9. 210323 CSS 盒子模型 字体图标 定位

随机推荐

  1. C++中的四种强制类型转换_基本用法及使用
  2. 探索C++虚函数在g++中的实现(动多态)_虚函
  3. C++11新特性 - 多态和虚函数,override说明
  4. 最新使用C#生成二维码方案,详解及实例 ( Q
  5. 简要分析Unity计时器脚本Timer的用法(附代
  6. C++11新特性- 纯虚函数和final说明符的用
  7. 仪器设备改造技术,实现测量数据上传到服务
  8. 技术解答CSV 文件的一个 .NET 库:CsvHelpe
  9. C++11常用语法- explicit类型转换运算符
  10. 使用C语言怎样清空输入缓冲区?这里有多种