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

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

?? widget.java

?? 源碼為Eclipse開源開發(fā)平臺桌面開發(fā)工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
	eventTable = null;	data = null;}/** * Removes the listener from the collection of listeners who will * be notifed when an event of the given type occurs. * * @param eventType the type of event to listen for * @param listener the listener which should no longer be notified when the event occurs * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see Listener * @see #addListener */public void removeListener (int eventType, Listener listener) {	checkWidget();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (eventType, listener);}/** * Removes the listener from the collection of listeners who will * be notifed when an event of the given type occurs. * <p> * <b>IMPORTANT:</b> This method is <em>not</em> part of the SWT * public API. It is marked public only so that it can be shared * within the packages provided by SWT. It should never be * referenced from application code. * </p> * * @param eventType the type of event to listen for * @param listener the listener which should no longer be notified when the event occurs * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see Listener * @see #addListener */protected void removeListener (int eventType, SWTEventListener listener) {	checkWidget();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (eventType, listener);}/** * Removes the listener from the collection of listeners who will * be notifed when the widget is disposed. * * @param listener the listener which should no longer be notified when the receiver is disposed * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see DisposeListener * @see #addDisposeListener */public void removeDisposeListener (DisposeListener listener) {	checkWidget();	if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);	if (eventTable == null) return;	eventTable.unhook (SWT.Dispose, listener);}void sendEvent (Event event) {	Display display = event.display;	if (!display.filterEvent (event)) {		if (eventTable != null) eventTable.sendEvent (event);	}}void sendEvent (int eventType) {	sendEvent (eventType, null, true);}void sendEvent (int eventType, Event event) {	sendEvent (eventType, event, true);}void sendEvent (int eventType, Event event, boolean send) {	if (eventTable == null && !display.filters (eventType)) {		return;	}	if (event == null) event = new Event ();	event.type = eventType;	event.display = display;	event.widget = this;	if (event.time == 0) {		event.time = display.getLastEventTime ();	}	if (send) {		sendEvent (event);	} else {		display.postEvent (event);	}}/** * Sets the application defined widget data associated * with the receiver to be the argument. The <em>widget * data</em> is a single, unnamed field that is stored * with every widget.  * <p> * Applications may put arbitrary objects in this field. If * the object stored in the widget data needs to be notified * when the widget is disposed of, it is the application's * responsibility to hook the Dispose event on the widget and * do so. * </p> * * @param data the widget data * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - when the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - when called from the wrong thread</li> * </ul> */public void setData (Object data) {	checkWidget();	if ((state & KEYED_DATA) != 0) {		((Object []) this.data) [0] = data;	} else {		this.data = data;	}}/** * Sets the application defined property of the receiver * with the specified name to the given value. * <p> * Applications may associate arbitrary objects with the * receiver in this fashion. If the objects stored in the * properties need to be notified when the widget is disposed * of, it is the application's responsibility to hook the * Dispose event on the widget and do so. * </p> * * @param key the name of the property * @param value the new value for the property * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the key is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> * * @see #getData */public void setData (String key, Object value) {	checkWidget();	if (key == null) error (SWT.ERROR_NULL_ARGUMENT);	int index = 1;	Object [] table = null;	if ((state & KEYED_DATA) != 0) {		table = (Object []) data;		while (index < table.length) {			if (key.equals (table [index])) break;			index += 2;		}	}	if (value != null) {		if ((state & KEYED_DATA) != 0) {			if (index == table.length) {				Object [] newTable = new Object [table.length + 2];				System.arraycopy (table, 0, newTable, 0, table.length);				data = table = newTable;			}		} else {			table = new Object [3];			table [0] = data;			data = table;			state |= KEYED_DATA;		}		table [index] = key;		table [index + 1] = value;	} else {		if ((state & KEYED_DATA) != 0) {			if (index != table.length) {				int length = table.length - 2;				if (length == 1) {					data = table [0];					state &= ~KEYED_DATA;				} else {					Object [] newTable = new Object [length];					System.arraycopy (table, 0, newTable, 0, index);					System.arraycopy (table, index + 2, newTable, index, length - index);					data = newTable;				}			}		}	}}boolean setInputState (Event event, int type) {	if (OS.GetKeyState (OS.VK_MENU) < 0) event.stateMask |= SWT.ALT;	if (OS.GetKeyState (OS.VK_SHIFT) < 0) event.stateMask |= SWT.SHIFT;	if (OS.GetKeyState (OS.VK_CONTROL) < 0) event.stateMask |= SWT.CONTROL;	if (OS.GetKeyState (OS.VK_LBUTTON) < 0) event.stateMask |= SWT.BUTTON1;	if (OS.GetKeyState (OS.VK_MBUTTON) < 0) event.stateMask |= SWT.BUTTON2;	if (OS.GetKeyState (OS.VK_RBUTTON) < 0) event.stateMask |= SWT.BUTTON3;	switch (type) {		case SWT.MouseDown:		case SWT.MouseDoubleClick:			if (event.button == 1) event.stateMask &= ~SWT.BUTTON1;			if (event.button == 2) event.stateMask &= ~SWT.BUTTON2;			if (event.button == 3) event.stateMask &= ~SWT.BUTTON3;			break;		case SWT.MouseUp:			if (event.button == 1) event.stateMask |= SWT.BUTTON1;			if (event.button == 2) event.stateMask |= SWT.BUTTON2;			if (event.button == 3) event.stateMask |= SWT.BUTTON3;			break;		case SWT.KeyDown:		case SWT.Traverse:			if (event.keyCode == SWT.ALT) event.stateMask &= ~SWT.ALT;			if (event.keyCode == SWT.SHIFT) event.stateMask &= ~SWT.SHIFT;			if (event.keyCode == SWT.CONTROL) event.stateMask &= ~SWT.CONTROL;			break;		case SWT.KeyUp:			if (event.keyCode == SWT.ALT) event.stateMask |= SWT.ALT;			if (event.keyCode == SWT.SHIFT) event.stateMask |= SWT.SHIFT;			if (event.keyCode == SWT.CONTROL) event.stateMask |= SWT.CONTROL;			break;	}			return true;}boolean setKeyState (Event event, int type, int wParam, int lParam) {		/*	* Feature in Windows.  When the user presses Ctrl+Backspace	* or Ctrl+Enter, Windows sends a WM_CHAR with Delete (0x7F)	* and '\n' instead of '\b' and '\r'.  This is the correct	* platform behavior but is not portable.  The fix is to detect	* these cases and convert the character.	*/	switch (display.lastAscii) {		case SWT.DEL:			if (display.lastKey == SWT.BS) display.lastAscii = SWT.BS;			break;		case SWT.LF:			if (display.lastKey == SWT.CR) display.lastAscii = SWT.CR;			break;	}		/*	* Feature in Windows.  When the user presses either the Enter	* key or the numeric keypad Enter key, Windows sends a WM_KEYDOWN	* with wParam=VK_RETURN in both cases.  In order to distinguish	* between the keys, the extended key bit is tested. If the bit	* is set, assume that the numeric keypad Enter was pressed. 	*/	if (display.lastKey == SWT.CR && display.lastAscii == SWT.CR) {		if ((lParam & 0x1000000) != 0) display.lastKey = SWT.KEYPAD_CR;	}		if (display.lastVirtual) {		/*		* Feature in Windows.  The virtual key VK_DELETE is not		* treated as both a virtual key and an ASCII key by Windows.		* Therefore, we will not receive a WM_CHAR for this key.		* The fix is to treat VK_DELETE as a special case and map		* the ASCII value explictly (Delete is 0x7F).		*/		if (display.lastKey == OS.VK_DELETE) display.lastAscii = 0x7F;				/*		* Feature in Windows.  When the user presses Ctrl+Pause, the		* VK_CANCEL key is generated and a WM_CHAR is sent with 0x03,		* possibly to allow an application to look for Ctrl+C and the		* the Break key at the same time.  This is unexpected and		* unwanted.  The fix is to detect the case and set the character		* to zero. 		*/		if (display.lastKey == OS.VK_CANCEL) display.lastAscii = 0x0;				event.keyCode = Display.translateKey (display.lastKey);	} else {		event.keyCode = display.lastKey;	}	if (display.lastAscii != 0 || display.lastNull) {		event.character = Display.mbcsToWcs ((char) display.lastAscii);	}	if (event.keyCode == 0 && event.character == 0) {		if (!display.lastNull) return false;	}	return setInputState (event, type);}boolean SetWindowPos (int hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags) {	if (OS.IsWinCE) {		/*		* Feature in Windows.  On Windows CE, SetWindowPos() always causes		* a WM_SIZE message, even when the new size is the same as the old		* size.  The fix is to detect that the size has not changed and set		* SWP_NOSIZE.		*/		if ((uFlags & OS.SWP_NOSIZE) == 0) {			RECT lpRect = new RECT ();			OS.GetWindowRect (hWnd, lpRect);			if (cy == lpRect.bottom - lpRect.top && cx == lpRect.right - lpRect.left) {				/*				* Feature in Windows.  On Windows CE, SetWindowPos() when called				* with SWP_DRAWFRAME always causes a WM_SIZE message, even				* when SWP_NOSIZE is set and when the new size is the same as the				* old size.  The fix is to clear SWP_DRAWFRAME when the size is				* the same.				*/				uFlags &= ~OS.SWP_DRAWFRAME;				uFlags |= OS.SWP_NOSIZE;			}		}	}	return OS.SetWindowPos (hWnd, hWndInsertAfter, X, Y, cx, cy, uFlags);}/** * Returns a string containing a concise, human-readable * description of the receiver. * * @return a string representation of the receiver */public String toString () {	String string = "*Disposed*"; //$NON-NLS-1$	if (!isDisposed ()) {		string = "*Wrong Thread*"; //$NON-NLS-1$		if (isValidThread ()) string = getNameText ();	}	return getName () + " {" + string + "}"; //$NON-NLS-1$ //$NON-NLS-2$}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区视频在线| 奇米综合一区二区三区精品视频| 一区二区三区在线免费播放| 另类人妖一区二区av| 不卡av电影在线播放| 欧美一区二区三区成人| 中文字幕一区二区三区不卡在线 | 日韩美女精品在线| 麻豆国产欧美一区二区三区| 99精品在线观看视频| 久久久久久久久久久久久夜| 午夜成人在线视频| 日本韩国一区二区三区视频| 久久亚洲一级片| 日韩黄色一级片| 欧美日韩一级大片网址| 亚洲欧洲另类国产综合| 丁香婷婷综合激情五月色| 日韩欧美国产成人一区二区| 亚洲成人你懂的| 欧美亚洲动漫另类| 一区二区三区 在线观看视频| 国产黄色91视频| 久久久.com| 国产精品综合av一区二区国产馆| 91精品国产麻豆国产自产在线| 亚洲黄色小说网站| 99久久婷婷国产综合精品 | 91麻豆精品国产91久久久久久久久| 国产精品久久久久四虎| 国产精品91xxx| 久久女同性恋中文字幕| 国内一区二区视频| 欧美精品一区二区三区蜜臀| 久久精品国产精品青草| 精品日本一线二线三线不卡 | 亚洲综合色噜噜狠狠| 日本高清不卡aⅴ免费网站| 亚洲色欲色欲www在线观看| 99久久精品免费精品国产| 国产欧美日韩精品a在线观看| 国产一区二区三区在线观看免费视频 | 日韩一级片在线观看| 美女www一区二区| 精品成人在线观看| 成人在线视频一区| 亚洲欧洲日韩av| 欧美视频精品在线| 日韩国产成人精品| 精品免费视频.| 成人午夜av电影| 亚洲欧美电影院| 日韩午夜av一区| 国产成人av电影免费在线观看| 国产精品久久久久久久久图文区| 成人高清免费在线播放| 亚洲午夜av在线| 久久女同性恋中文字幕| 99久久免费精品| 丝袜亚洲另类丝袜在线| 久久色.com| 91黄色激情网站| 捆绑调教美女网站视频一区| 国产日本欧美一区二区| 欧美午夜在线观看| 国产一级精品在线| 亚洲自拍偷拍av| 久久久精品日韩欧美| 在线观看免费亚洲| 韩国成人在线视频| 亚洲国产中文字幕在线视频综合| 日韩免费电影一区| 91国产成人在线| 精品一区二区在线视频| 亚洲欧美成aⅴ人在线观看| 日韩网站在线看片你懂的| 99国产欧美久久久精品| 日本午夜一本久久久综合| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美欧美欧美欧美| 国产精品白丝jk黑袜喷水| 一区二区三区精品久久久| 久久综合久久鬼色中文字| 欧美午夜精品一区二区蜜桃| 国产美女精品一区二区三区| 亚洲国产视频直播| 亚洲图片激情小说| 久久久亚洲午夜电影| 日韩一区二区三区观看| 在线一区二区三区四区| 国产91丝袜在线18| 久久国产综合精品| 婷婷综合另类小说色区| 亚洲免费观看高清在线观看| 国产日产欧美精品一区二区三区| 日韩欧美资源站| 欧美日韩一级二级三级| 一本一本大道香蕉久在线精品 | 欧美精品在线视频| 在线观看亚洲a| 91视频精品在这里| 成人美女视频在线观看18| 国精品**一区二区三区在线蜜桃| 亚洲成人福利片| 亚洲天堂久久久久久久| 国产欧美日韩另类视频免费观看| 日韩精品影音先锋| 欧美成人精品福利| 欧美一级二级三级蜜桃| 337p亚洲精品色噜噜噜| 欧美日本韩国一区二区三区视频 | 久久影视一区二区| 精品国产乱码久久久久久浪潮| 欧美日韩精品系列| 欧美一区二区日韩| 日韩免费在线观看| 久久久精品免费免费| 久久久久久日产精品| 国产欧美视频一区二区三区| 国产香蕉久久精品综合网| 久久精品人人爽人人爽| 国产日韩精品视频一区| 国产精品久久久一本精品| 国产精品免费视频网站| 亚洲欧美成人一区二区三区| 亚洲综合清纯丝袜自拍| 天天操天天综合网| 蜜臀av国产精品久久久久| 激情伊人五月天久久综合| 国产精品一区二区黑丝| 成人高清在线视频| 欧美日韩中文字幕精品| 日韩一二三区不卡| 久久精品人人做人人综合 | 久久精品一区二区| 国产精品白丝在线| 一区二区理论电影在线观看| 丝袜亚洲另类丝袜在线| 国产在线播放一区| 一本一道久久a久久精品综合蜜臀| 在线观看亚洲精品视频| 精品日本一线二线三线不卡| 欧美国产精品一区二区| 亚洲精品免费一二三区| 男女男精品网站| 国产成人综合网站| 欧美三日本三级三级在线播放| 日韩欧美激情四射| 亚洲色图视频网| 麻豆视频一区二区| 91香蕉视频在线| 日韩欧美视频一区| 《视频一区视频二区| 奇米色777欧美一区二区| 国产**成人网毛片九色| 欧美日韩成人综合在线一区二区| 欧美电视剧免费观看| 亚洲精品成人天堂一二三| 日本vs亚洲vs韩国一区三区二区| 高清久久久久久| 欧美一区二区三区精品| 亚洲美女少妇撒尿| 国产在线国偷精品免费看| 欧美亚一区二区| 中文字幕乱码亚洲精品一区| 日本中文在线一区| 在线欧美日韩国产| 日本一区二区三区在线不卡| 日本三级韩国三级欧美三级| 97精品视频在线观看自产线路二| 日韩三级中文字幕| 午夜私人影院久久久久| av不卡一区二区三区| 久久久无码精品亚洲日韩按摩| 亚洲成人精品一区| 91福利在线观看| 国产精品久久二区二区| 激情文学综合丁香| 日韩一区二区免费高清| 亚洲午夜精品17c| 色噜噜夜夜夜综合网| 中文av字幕一区| 国产精品一二三四| 欧美mv日韩mv国产网站| 免费在线观看日韩欧美| 欧美性欧美巨大黑白大战| 亚洲人成精品久久久久| 成人午夜在线播放| 久久人人97超碰com| 久久99国产乱子伦精品免费| 欧美精品丝袜中出| 丝袜亚洲另类欧美综合| 欧美日韩黄视频| 午夜精品久久久久久久久久久| 欧洲亚洲精品在线| 亚洲国产精品综合小说图片区| 色婷婷激情一区二区三区| |精品福利一区二区三区| 91麻豆.com| 一二三区精品福利视频|