Java实现把窗体隐藏到系统托盘方法_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
, 窗体
, 隐藏
系统托盘
win7系统托盘图标隐藏、隐藏系统托盘图标、隐藏系统托盘、将程序隐藏到系统托盘、c 隐藏窗体,以便于您获取更多的相关知识。

时间: 2024-09-20 03:04:32

Java实现把窗体隐藏到系统托盘方法_java的相关文章

WinForm实现最小化到系统托盘方法实例详解

  本文实例讲述了WinForm实现最小化到系统托盘方法.分享给大家供大家参考.具体分析如下: 有个叫NotifyIcon的控件 1.建个WinForm项目,其它操作略过. 2.拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件. 3.实现Form的SizeChanged事件,代码如下: ? 1 2 3 4 5 if(this.WindowState == FormWindowState.Minimized) //判断是否最小化 { this.Sho

java实现系统托盘示例_java

桌面的系统托盘即当程序最小化或者关闭按钮程序并没有退出,而是最小化在任务状态区域(Windows系统),当鼠标点击那个区域所在的图标有提示以及其他的操作.在 Microsoft Windows 上,它被称为"任务栏状态区域 (Taskbar Status Area)",在 Gnome 上,它被称为"通知区域 (Notification Area)",在 KDE 上,它被成为"系统托盘 (System Tray)".系统托盘由运行在桌面上的所有应用

java通过控制鼠标实现屏幕广播的方法_java

本文实例讲述了java通过控制鼠标实现屏幕广播的方法.分享给大家供大家参考.具体分析如下: 在前面一篇<java实现屏幕共享功能实例分析>中提到截取屏幕时是没鼠标,为了看到教师端界面上的鼠标,可以在截取屏幕的时候,把鼠标绘制到每一张截图上去,但是由于截图的时候是一张张截取的,所以看到的鼠标难免会有点卡,之前写了java鼠标操控小程序,可以通过这种方式来看到鼠标的演示. 实现的方式也挺简单的,前面两篇文章分别实现了鼠标控制和不带鼠标的屏幕分享功能,把这两个结合一下就ok了,下面简单分析下. 服务

Java使用DSA密钥对生成XML签名的方法_java

本文实例讲述了Java使用DSA密钥对生成XML签名的方法.分享给大家供大家参考.具体实现方法如下: MainClass.java代码如下: 复制代码 代码如下: import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.SecureRandom; import java.util.Collections; import javax.xml.crypto.dsig.Canon

Java利用序列化实现对象深度clone的方法_java

本文实例讲述了Java利用序列化实现对象深度clone的方法.分享给大家供大家参考.具体实现方法如下: ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(obj); ByteArrayInputStream byteIn = new ByteArrayInputStream(by

JAVA使用爬虫抓取网站网页内容的方法_java

本文实例讲述了JAVA使用爬虫抓取网站网页内容的方法.分享给大家供大家参考.具体如下: 最近在用JAVA研究下爬网技术,呵呵,入了个门,把自己的心得和大家分享下 以下提供二种方法,一种是用apache提供的包.另一种是用JAVA自带的. 代码如下: // 第一种方法 //这种方法是用apache提供的包,简单方便 //但是要用到以下包:commons-codec-1.4.jar // commons-httpclient-3.1.jar // commons-logging-1.0.4.jar

Java判断时间段内文件是否更新的方法_java

本文实例讲述了Java判断时间段内文件是否更新的方法.分享给大家供大家参考.具体实现方法如下: 1.定时器 复制代码 代码如下: private Timer timer;    /** * 简易定时器 * @param delay  多久后开始执行.毫秒 * @param period 执行的间隔时间.毫秒 */  public void test(long delay, long period) {          timer = new Timer();          timer.sc

Java 8中日期和时间的处理方法_java

Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. java.util.Date月份从0开始,一月是0,十二月是11,变态吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用错了. java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不但线程安全,

Java实现将汉字转化为汉语拼音的方法_java

本文实例讲述了Java实现将汉字转化为汉语拼音的方法.分享给大家供大家参考,具体如下: 网上乱转,偶然看到一个很有意思的小工具,名字叫pinyin4j,可以把汉字转换为汉语拼音,利用他的话再配合上lucene.中文分词就可以做出类似google那种输入汉语拼音进行全文检索的功能了.实现的代码如下 package pinyin4j; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.forma