亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? trayiconmanager.java

?? msn聊天軟件java版很好用
?? JAVA
字號:
/* * @(#)TrayIconManager.java * * Copyright (c) 2001 Jangho Hwang, * All rights reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *  * 	1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. *  * 	2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. *  * 	3. Neither the name of the JangHo Hwang nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *    $Id: TrayIconManager.java,v 1.2 2002/07/23 05:05:24 xrath Exp $ */package rath.tools.tray;import java.awt.Frame;import java.awt.Point;import java.io.*;import java.util.HashMap;import java.util.Iterator;import rath.tools.Win32Toolkit;/** * 飄飯撈 酒撈能甸闌 包府秦林綽 努貳膠撈促. * 撈 努貳膠綽 汗薦狼 牢膠畔膠 積己闌 傾儈竅瘤 臼綽促. * <p> * 肚茄 飄飯撈 酒撈能籃 厚瀝惑 輛豐竅看闌錠, 矯膠袍 飄飯撈俊 酒撈能撈 弊措肺 * 巢酒樂綽 版快啊 腹促. 撈巴闌 規瘤竅扁 困秦 Runtime.addShutdownHook 竊薦甫 葷儈茄促.  * 撈巴闌 葷儈竅扁 錠鞏俊, JDK 1.3 撈惑闌 鞘夸肺 茄促. * <p> * 措腳 Platform籃 Windows 95/98/ME客 NT 4.0/2000 撈惑闌 葛滴 瘤盔茄促. * <br>竄, 淺急檔框富 扁瓷闌 撈儈竅扁 困秦 AdvancedTrayIcon闌 葷儈竅妨 茄促擱,  * Windows ME/2000 撈惑狼 敲閥汽撈咯具父 茄促. (Shell32.dll version 5.0撈 鞘夸竅促.  * ME唱 2000俊綽 扁夯利欄肺 5.0 滾憐狼 Shell32.dll 撈 器竊登絹 樂促) * <p> * 酒貳狼 抗力甫 焊擱 獎霸 葷儈規過闌 勞鰓 薦 樂闌 巴撈促. * <p> * <pre><code> * Win32Toolkit toolkit = Win32Toolkit.getInstance(); * ... * TrayIconManager tray = new TrayIconManager( tookit ); *  * <font color=green><i>// 淺急檔框富闌 啊瘤綽 飄飯撈酒撈能 按眉甫 積己茄促.</font></i> * AdvancedTrayIcon icon = new AdvancedTrayIcon(  *     new ImageIcon("cute.gif").getImage(), "撈慧飄飯撈" ); * * <font color=green><i>// 淺急檔框富狼 力格闌 汲瀝茄促.</font></i> * icon.setBaloonTitle( "酒銳 貳靜 崗里撈" );  * <font color=green><i>// 淺急檔框富 郴儈闌 瀝茄促. 俺青鞏磊(\n)撈 利儈等促.</font></i> * icon.setBaloonText( "貳靜叢撈 殿厘 竅看嚼聰促.\n葛滴 磊府俊輯 老絹唱林技夸" ); * <font color=green><i>// 淺急檔框富 力格 糠俊 釬矯且 酒撈能闌 汲瀝茄促.</font></i> * icon.setBaloonIcon( icon.ICON_INFORMATION ); *  * <font color=green><i>// 撈亥飄府膠呈客 竊膊, 矯膠袍 飄飯撈俊 角力肺 殿廢茄促.</font></i> * tray.addTrayIcon( icon, new TrayEventAdapter() { *     public void mouseDblClicked( Point p ) *     { *         System.out.println( p + " 諒釬俊輯 歹喉努腐沁促." ); *     } * }); *  * <font color=green><i>// 吝埃 函版 扁瓷闌 拋膠飄 竅扁 困秦 10檬父 疆促.</font></i> * Thread.currentThread().sleep( 10000L ); * * <font color=green><i>// 酒撈能 瀝焊甫 薦瀝茄促.</font></i> * icon.setIcon( new ImageIcon("angry.gif").getImage() ); * icon.setBaloonTitle( "崗里撈 亮酒竅備 樂匙" ); * icon.setBaloonIcon( icon.ICON_ERROR ); *  * <font color=green><i>// 函版等 鞘靛瀝焊客 竊膊 角力肺 函版郴儈闌 利儈矯挪促.</font></i> * tray.modifyTrayIcon( info, TrayIcon.TYPE_ICON | TypeIcon.TYPE_BALOON ); *  * </code></pre> * * Windows 95/98 棺 NT 4.0撈惑 葷儈磊狼 版快 淺急檔框富父 葷儈竅瘤 給且揮 老館  * 扁瓷籃 葛滴 葷儈且 薦 樂促. 竄, {@link AdvancedTrayIcon AdvancedTrayIcon}撈 酒囪  * {@link TrayIcon TrayIcon} 努貳膠甫 葷儈秦具 且 巴撈促. * * @author Jangho Hwang, windrath@hanmail.net * @version $Id: TrayIconManager.java,v 1.2 2002/07/23 05:05:24 xrath Exp $, since 2001/12/17 */public class TrayIconManager{	private final Win32Toolkit toolkit;	private int uniqueId = 0;	private long handle = 0L;	private HashMap listenerMap = null;	/**	 * Windows狼 矯膠袍 飄飯撈甫 葷儈且 薦 樂霸 秦林綽 TrayIconManager 牢膠畔膠甫	 * 積己茄促. Windows 絆蠟 扁瓷撈扁 錠鞏俊, Win32Toolkit 牢膠畔膠甫 逞敗林絹具 茄促.	 */	public TrayIconManager( Win32Toolkit toolkit )	{		this.toolkit = toolkit;		this.listenerMap = new HashMap();	}	/**	 * 矯膠袍飄飯撈康開俊 貨肺款 飄飯撈 酒撈能闌 殿廢茄促. 	 *	 * @param  info     貨肺款 飄飯撈 酒撈能狼 瀝焊甫 啊柳 按眉	 * @param  listener 殿廢等 飄飯撈 康開俊 措茄 撈亥飄甫 沒秒且 撈亥飄府膠呈	 */	public synchronized void addTrayIcon( TrayIcon info, TrayEventListener listener )	{		if( listenerMap.size()==0 )		{			final Frame temp = new Frame("");			new Thread( new Runnable() {				public void run()				{					temp.pack();					handle = createTrayHandle(temp);					temp.dispose();				}			}).start();						try {				int retry = 0;				while( handle==0 || retry < 20)				{					Thread.currentThread().sleep(50L);					retry++;				}			} catch( InterruptedException e ) {}			if( handle==0 )				throw new IllegalStateException( "handle is not valid" );			Runtime.getRuntime().addShutdownHook( new Thread() {				public void run()				{					if( listenerMap.size()==0 )						return;										for( Iterator i=listenerMap.keySet().iterator(); i.hasNext(); )					{						String id = (String)i.next();						removeTrayIcon0( handle, Integer.parseInt(id) );					}				}			});		}		if( handle==0 )			throw new IllegalStateException( "handle is not valid" );		info.setUniqueID( uniqueId++ );		NativeIcon nicon = info.getIcon();		if( !nicon.isHandleCreated() )			nicon.setIconHandle( toolkit.createIconFromImage(nicon.getImage()) );		listenerMap.put( String.valueOf(info.getUniqueID()), listener );		addTrayIcon0( handle, info );	}	/**	 * 扁糧俊 殿廢登絹樂帶 飄飯撈酒撈能狼 加己闌 函版茄促. 	 * <p>	 * 林狼: TrayIconInfo 按眉甫 貨肺 積己竅擱 救登哥, 館靛矯 addTrayIcon俊 籠絹持菌帶 	 * 按眉俊輯 加己父 函版竅咯具 茄促. 弊犯瘤 臼欄擱 IllegalArgumentException闌 帶龍 巴撈促.	 * 	 * @param  info        函版等 瀝焊甫 啊瘤絆 樂綽 扁糧 TrayIconInfo 按眉	 * @param  modifyField TrayIconInfo.ICON, TrayIconInfo.TIP 殿 角力肺 藹撈 函茄	 *                     鞘靛甸狼 稠府 欽. (ex: <b>TrayIconInfo.ICON | TrayIconInfo.TIP</b> )	 */	public synchronized void modifyTrayIcon( TrayIcon info, int modifyField )	{		long iconHandle = 0L;		String tipMessage = null;		if( !listenerMap.containsKey( String.valueOf(info.getUniqueID()) ) )			throw new IllegalArgumentException( "unregistered trayicon" );		if( handle==0 )			throw new IllegalStateException( "handle is not valid" );		if( (modifyField & TrayIcon.TYPE_ICON)==TrayIcon.TYPE_ICON )		{			NativeIcon nicon = info.getIcon();			if( !nicon.isHandleCreated() )			{				iconHandle = toolkit.createIconFromImage( nicon.getImage() );				nicon.setIconHandle( iconHandle );			}			else				iconHandle = nicon.getIconHandle();		}		setTrayIcon0( handle, info, modifyField );	}	/**	 * 秦寸 飄飯撈 酒撈能闌 矯膠袍 飄飯撈俊輯 秦力茄促. 	 * 父距 殿廢竅瘤 臼籃 TrayIconInfo 按眉甫 秦力竅妨 茄促擱, 	 * java.lang.IllegalArgumentException闌 帶龍 巴撈促.	 */	public synchronized void removeTrayIcon( TrayIcon info )	{		// getUniqueID客 HWND肺 Shell_NotifyIcon( NIM_REMOVE )甫 薦青竅檔廢 茄促.		int uid = info.getUniqueID();		if( listenerMap.remove(String.valueOf(uid))==null )			throw new IllegalArgumentException( "unregistered trayicon" );		if( handle==0 )			throw new IllegalStateException( "handle is not valid" );		removeTrayIcon0( handle, uid );		toolkit.destroyIcon( info.getIconHandle() );		if( listenerMap.size()==0 )		{			destroyTrayHandle( handle );		}	}	/**	 * 漂瀝 NativeIcon撈 歹撈惑 鞘夸竅瘤 臼闌錠, Java image客 os specify 竅霸 	 * 積己等 酒撈能 勤甸闌 葛滴 秦力秦霖促.	 */	public void removeNativeIcon( NativeIcon icon )	{		long iconHandle = icon.getIconHandle();		if( iconHandle!=0 )			toolkit.destroyIcon( iconHandle );		icon.flush();	}	/**	 * native WindowProc 欄肺何磐 齲免登綽 撈亥飄 慣價 皋家靛撈促.	 */	private void fireTrayEvent( int uid, int eventCode, Point point )	{		TrayEventListener listener = (TrayEventListener)listenerMap.get( String.valueOf(uid) );		if( listener!=null )		{			switch( eventCode )			{			case 0:				listener.mouseLeftClicked( point );				break;			case 1:				listener.mouseRightClicked( point );				break;			case 2:				listener.mouseDblClicked( point );				break;			case 3:				listener.mouseMove( point );				break;			}		}	}	private native void addTrayIcon0( long handle, TrayIcon info );	private native void setTrayIcon0( long handle, TrayIcon info, int modifyField );	private native void removeTrayIcon0( long handle, int uid );	/**	 * native 內靛俊輯綽 撈 TrayIconManager狼 牢膠畔膠俊 措茄 GlobalReference甫	 * 傈開函薦肺 急攫秦初酒具 且 巴撈促. 弊貳具 撈亥飄甫 烹瘤罐闌 薦 樂促.	 * <p>	 * JNIEnv綽 傈開函薦肺 棱囚具竅哥	 * jobject客 fireTrayEvent狼 jmethodID狼 GlobalRefenrence啊 傈開函薦肺 棱囚具父 茄促.	 * 弊貳具 CallVoidMethod甫 薦青且 薦 樂促.	 */	private native long createTrayHandle( Frame temp );	/**	 * native 內靛俊輯綽 撈 TrayIconManager狼 牢膠畔膠俊 措秦 積己等 GlobalReference甫	 * 昏力秦林絹具 且 巴撈促.	 */	private native void destroyTrayHandle( long handle );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美中文三级| 久久这里只精品最新地址| 亚洲成人tv网| 欧美一级片在线观看| 久久国产精品无码网站| 久久久五月婷婷| 91精品在线免费观看| 蜜臀av一区二区在线免费观看| 欧美一区二区啪啪| 国产91在线观看| 亚洲女子a中天字幕| 91精品久久久久久久久99蜜臂| 久久国产麻豆精品| 亚洲男人的天堂在线观看| 欧美人狂配大交3d怪物一区| 国产精品1区2区3区| 亚洲午夜免费视频| 国产欧美一区二区精品久导航| 日本国产一区二区| 国产精品一二三| 午夜一区二区三区视频| 欧美国产乱子伦 | 樱花草国产18久久久久| 欧美一级在线观看| 色狠狠av一区二区三区| 国产精品自拍在线| 蜜臀精品一区二区三区在线观看 | 国产亚洲一区二区三区四区| 欧美制服丝袜第一页| 成人精品免费网站| 精品一区二区三区在线播放视频| 亚洲九九爱视频| 中文字幕欧美国产| 精品国产乱码久久久久久1区2区| 欧美性做爰猛烈叫床潮| 成人妖精视频yjsp地址| 国产另类ts人妖一区二区| 视频一区二区三区入口| 久久超碰97人人做人人爱| 夜夜夜精品看看| 亚洲免费在线电影| 亚洲美女一区二区三区| 国产精品久久久久久久久免费丝袜 | 亚洲久草在线视频| 777久久久精品| 久久福利资源站| 亚洲另类在线制服丝袜| 亚洲天堂福利av| 亚洲欧洲美洲综合色网| 久久久噜噜噜久久中文字幕色伊伊| 欧美福利电影网| 91精品在线一区二区| 日韩午夜激情视频| 日韩三区在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区二区福利在线| 精品国产一区二区三区久久影院| 精品久久99ma| 国产亚洲一区字幕| 亚洲人午夜精品天堂一二香蕉| 亚洲男人的天堂网| 日韩主播视频在线| 国产一区二区网址| 99精品久久免费看蜜臀剧情介绍| 91免费版在线| 91麻豆精品久久久久蜜臀| 欧美精品一区二区在线播放| 国产精品网站在线| 亚洲一区二区偷拍精品| 日本特黄久久久高潮| 国产99精品在线观看| 欧美午夜免费电影| 亚洲精品一区在线观看| 亚洲视频狠狠干| 99精品视频一区二区| 91黄色激情网站| 久久理论电影网| 亚洲地区一二三色| 国产福利一区二区三区视频| 欧洲精品视频在线观看| 2024国产精品视频| 亚洲va在线va天堂| 波多野结衣视频一区| 欧美高清精品3d| 最新久久zyz资源站| 麻豆91在线观看| 欧洲精品在线观看| 欧美国产国产综合| 美国av一区二区| 欧美日韩三级在线| 国产精品久久久久久久久晋中 | 欧美精品一区男女天堂| 亚洲国产精品综合小说图片区| 国产传媒欧美日韩成人| 日韩欧美一级二级| 午夜a成v人精品| 欧美视频在线播放| 亚洲综合一区二区三区| 99精品欧美一区二区三区小说| 久久嫩草精品久久久精品一| 另类人妖一区二区av| 这里只有精品99re| 首页国产欧美日韩丝袜| 欧美性欧美巨大黑白大战| 亚洲精品免费播放| 色视频成人在线观看免| 日韩一区欧美一区| 97精品电影院| 亚洲主播在线播放| 欧美性色黄大片| 日韩精品五月天| 欧美一区在线视频| 久久av老司机精品网站导航| 亚洲三级理论片| 91色综合久久久久婷婷| 亚洲女与黑人做爰| 欧美日韩国产欧美日美国产精品| 一区二区国产视频| 91精品国产综合久久久久 | 久久久久久免费| 成人成人成人在线视频| 亚洲激情图片一区| 欧美肥妇毛茸茸| 国产成人自拍网| 一区二区三区免费在线观看| 欧美日韩美少妇| 国产在线精品免费av| 中文字幕一区在线观看| 欧美日韩免费观看一区二区三区 | 国产91高潮流白浆在线麻豆| 国产精品久久国产精麻豆99网站| 欧美亚洲禁片免费| 香港成人在线视频| 欧美婷婷六月丁香综合色| 亚洲视频一二三| 欧美成人一区二区| 色婷婷综合久久久| 精品在线观看免费| 亚洲女女做受ⅹxx高潮| 精品国产乱码久久久久久夜甘婷婷 | 久久久综合精品| 欧美日韩在线一区二区| 国产一区二区精品在线观看| 亚洲激情网站免费观看| 久久这里只有精品视频网| 欧美视频一区二区三区在线观看| 国产精品性做久久久久久| 无码av中文一区二区三区桃花岛| 国产精品嫩草99a| 欧美精品一区二区蜜臀亚洲| 欧美日韩午夜在线| 91浏览器在线视频| 国产精品亚洲视频| 国产高清久久久久| 欧美aaaaa成人免费观看视频| 国产精品成人一区二区艾草 | 亚洲欧洲成人自拍| 久久综合久久综合久久综合| 在线成人午夜影院| 色老汉av一区二区三区| 99热这里都是精品| 成人综合婷婷国产精品久久蜜臀| 老司机精品视频导航| 奇米在线7777在线精品| 日韩精品成人一区二区在线| 亚洲一卡二卡三卡四卡无卡久久| 亚洲免费在线观看| 亚洲色图在线视频| 亚洲欧美一区二区三区极速播放 | 成人国产精品免费| 国产成人h网站| 国产99久久久国产精品免费看 | 亚洲国产欧美在线| 亚洲精品乱码久久久久久久久| 国产精品国产三级国产普通话99| 国产午夜精品一区二区三区四区| 亚洲精品一区二区三区影院 | 亚洲欧美综合在线精品| 亚洲少妇30p| 日日摸夜夜添夜夜添精品视频 | 成人精品视频一区二区三区| 成a人片亚洲日本久久| 色激情天天射综合网| 欧美日韩国产一区二区三区地区| 欧美一级片免费看| 国产午夜久久久久| 亚洲欧美日韩精品久久久久| 亚洲激情av在线| 蜜臀av性久久久久蜜臀aⅴ| 久88久久88久久久| 99精品国产视频| 久久久亚洲高清| 亚洲男人的天堂av| 免费观看在线综合色| 成人av在线看| 日韩欧美在线影院| 国产精品亲子乱子伦xxxx裸| 亚洲电影中文字幕在线观看| 久久99国产精品免费| 色综合久久88色综合天天6|