java常用方法 联系客服

发布时间 : 星期三 文章java常用方法更新完毕开始阅读4a33ac8b84868762caaed54b

} } }

对我有用[6] 丢个板砖[0] 引用 举报 管理 TOP

jhw2011 (jhw2011) 等 级: #9楼 得分:0 回复于:2011-03-31 23:44:37 感谢楼主!!!

对我有用[2] 丢个板砖[0] 引用 举报 管理 TOP

jhw2011 (jhw2011) 等 级: #10楼 得分:0 回复于:2011-03-31 23:44:53 java系统托盘的应用 Java code

package com.msg;

import java.applet.Applet; import java.applet.AudioClip; import java.awt.AWTException; import java.awt.Image; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.TextArea;

import java.awt.TrayIcon;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

import java.net.MalformedURLException; import java.net.URL; import java.util.Date;

import javax.swing.ImageIcon; import javax.swing.JFrame;

import javax.swing.SwingUtilities; import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel; /** *

* 创建闪动的托盘图像 * @author Everest * */

public class BickerTray extends JFrame implements Runnable {

private static final long serialVersionUID = -3115128552716619277L;

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

private ImageIcon icon = null; private TextArea ta = null;

private static int count = 1; //记录消息闪动的次数 private boolean flag = false; //是否有新消息 private static int times = 1; //接收消息次数

public BickerTray() {

this.createTrayIcon();// 创建托盘对象

Image image = this.getToolkit().getImage(getRes(\ this.setIconImage(image);

init(); }

public URL getRes(String str){

return this.getClass().getClassLoader().getResource(str); } /**

* 初始化窗体的方法 */

public void init() {

this.setTitle(\消息盒子\ ta = new TextArea(\ ta.setEditable(false); this.add(ta);

this.setSize(400, 400);

//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null);

// 添加窗口最小化事件,将托盘添加到操作系统的托盘 /*this.addWindowListener(new WindowAdapter() { public void windowIconified(WindowEvent e) { addTrayIcon(); } });*/

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(getRes(\托盘图标 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) {

ta.setText(ta.getText()+\《通知》 今天下午4:00到大礼堂开会。 \\n 第\次接收时间:\new Date().toLocaleString()); // 设置通知消息内容

BickerTray.this.setExtendedState(JFrame.NORMAL); BickerTray.this.setVisible(true); // 显示窗口 BickerTray.this.toFront(); //显示窗口到最前端 flag = false; //消息打开了 count = 0; times++; } });

exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } });

trayIcon = new TrayIcon(icon.getImage(), \消息盒子\ /** 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口 */ trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { // 鼠标双击

ta.setText(ta.getText()+\《通知》 今天下午4:00到大礼堂开会。 \\n 第\次接收时间:\new Date().toLocaleString()); // 设置通知消息内容

BickerTray.this.setExtendedState(JFrame.NORMAL); BickerTray.this.setVisible(true); // 显示窗口 BickerTray.this.toFront(); flag = false; //消息打开了