`
lzj0470
  • 浏览: 1276947 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

创建闪动的托盘图像

阅读更多
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;

import org.omg.CORBA.PUBLIC_MEMBER;

/**
 * 创建闪动的托盘图像
 * @author 黄根华 
 */
public class TestTray extends JFrame implements Runnable {

 private SystemTray sysTray;// 当前操作系统的托盘对象

 private TrayIcon trayIcon;// 当前对象的托盘

 private int num = 10;

 ImageIcon icon = null;

 public TestTray() {
  this.createTrayIcon();// 创建托盘对象
  init();
 }

 /**
  * 初始化窗体的方法
  */
 /**
  * 
  */
 public void init() {
  this.setTitle("闪动托盘");
  this.setSize(400, 400);
  this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
  this.setLocationRelativeTo(null);
  // 添加窗口事件,将托盘添加到操作系统的托盘
  this.addWindowListener(new WindowAdapter() {

   public void windowIconified(WindowEvent e) {
    addTrayIcon();
   }
  });

  this.setVisible(true);
 }

 /**
  * 添加托盘的方法
  */
 public void addTrayIcon() {
  try {
   sysTray.add(trayIcon);// 将托盘添加到操作系统的托盘
   setVisible(false);// 使得当前的窗口隐藏
   new Thread(this).start();
  } catch (AWTException e1) {
   e1.printStackTrace();
  }
 }

 /**
  * 创建系统托盘的对象 步骤: 1,获得当前操作系统的托盘对象 2,创建弹出菜单popupMenu 3,创建托盘图标icon
  * 4,创建系统的托盘对象trayIcon
  */
 public void createTrayIcon() {
  sysTray = SystemTray.getSystemTray();// 获得当前操作系统的托盘对象
  icon = new ImageIcon("1.gif");// 托盘图标
  PopupMenu popupMenu = new PopupMenu();// 弹出菜单
  MenuItem mi = new MenuItem("弹出");
  MenuItem exit = new MenuItem("关闭");
  popupMenu.add(mi);
  popupMenu.add(exit);
  // 为弹出菜单项添加事件
  mi.addActionListener(new ActionListener() {

   public void actionPerformed(ActionEvent e) {
    setVisible(true);
    sysTray.remove(trayIcon);
   }
  });
  exit.addActionListener(new ActionListener() {

   public void actionPerformed(ActionEvent e) {
    System.exit(0);
   }
  });
  trayIcon = new TrayIcon(icon.getImage(), "闪动托盘", popupMenu);
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  TestTray testTray = new TestTray();
 }

 /*
  * 线程控制闪动 (non-Javadoc)
  * 
  * @see java.lang.Runnable#run()
  */
 public void run() {
  while (num >= 0) {
   this.trayIcon.setImage(new ImageIcon("").getImage());
   try {
    Thread.sleep(300);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   this.trayIcon.setImage(icon.getImage());
   try {
    Thread.sleep(300);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   num--;
  }
 }

}

分享到:
评论

相关推荐

    即时通信系统GGTalk(支持PC和Android,高仿QQ)源码 GGRealTimeGGTalk.rar

    14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时

    GG即时通讯系统_GGTalk v7.0完整版_新增Xamarin移动端_视频聊天

    GG即时通讯系统GGTalk,包括客户端、服务端、数据库...(14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动

    企业即时通信系统 - OrayTalk 2.1

    (14)消息提醒(托盘图标闪动、头像闪动),对方“正在输入”提示。 (15)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时关闭程序还是隐藏窗口。 (16)好友、群组资料本地缓存,加快启动...

    c# QQ源码,部署版本见另一个资源

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    c# QQ可执行文件,源码见另一个资源

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    QQ高仿版 GG2014

    (19)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (20)输入提醒:像QQ一样,当对方正在输入消息时,我这边的聊天框可以看到对方“正在输入”的提示。 ...

    可在广域网部署运行的即时通讯系统.rar

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主...

    GGTalk即时通信系统 GGRealTimeCommunicationGGTalk5.rar

    14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    即时通信系统GGTalk(支持PC和Android,高仿QQ)源码 GGRealTimeCommunication.rar

    14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    GG叽叽(QQ高仿)v4.4源码 GGQQ2014V4.4.rar

    14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    高仿QQ源码

    14、托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 15、最近联系人列表 16、系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    GG2014版源码。仿QQ聊天软件

    (19)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点 击头像,将弹出与好友的聊天框。 (20)输入提醒:像QQ一样,当对方正在输入消息时,我这边的聊天框可以看到对方 “正在输入”的...

    GG即时通讯系统GGTalk v6.2.zip

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口...

    GG即时通讯系统GGTalk v5.5 部署版.rar

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口...

    GGTalk-V6.0源码、部署版及安卓源码

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    GG即时通讯系统GGTalk 6.2 源码版.rar

    (12)离线消息(13)离线文件(14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。(15)最近联系人列表(16)系统设置:开机自动启动、麦克风设备索引、...

    gg2014即时聊天

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口...

    C# 可在广域网部署运行的即时通讯系统GGTalk-V6.0

    (14)托盘闪动:跟QQ完全一样,当接收到消息时,托盘会闪动对应好友的头像。点击头像,将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时...

    delphi 开发经验技巧宝典源码

    0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的...

Global site tag (gtag.js) - Google Analytics