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

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

?? clipboard.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html *  * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.dnd;import org.eclipse.swt.*;import org.eclipse.swt.widgets.*;import org.eclipse.swt.internal.win32.*;import org.eclipse.swt.internal.ole.win32.*;/** * The <code>Clipboard</code> provides a mechanism for transferring data from one * application to another or within an application. *  * <p>IMPORTANT: This class is <em>not</em> intended to be subclassed.</p> */public class Clipboard {	private Display display;		// ole interfaces	private COMObject iDataObject;	private int refCount;	private Transfer[] transferAgents = new Transfer[0];	private Object[] data = new Object[0];	private int CFSTR_PREFERREDDROPEFFECT;/** * Constructs a new instance of this class.  Creating an instance of a Clipboard * may cause system resources to be allocated depending on the platform.  It is therefore * mandatory that the Clipboard instance be disposed when no longer required. * * @param display the display on which to allocate the clipboard * * @exception SWTException <ul> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li> *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li> * </ul> * * @see Clipboard#dispose * @see Clipboard#checkSubclass */public Clipboard(Display display) {		checkSubclass ();	if (display == null) {		display = Display.getCurrent();		if (display == null) {			display = Display.getDefault();		}	}	if (display.getThread() != Thread.currentThread()) {		DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);	}	this.display = display;	TCHAR chFormatName = new TCHAR(0, "Preferred DropEffect", true); //$NON-NLS-1$	CFSTR_PREFERREDDROPEFFECT = COM.RegisterClipboardFormat(chFormatName);	createCOMInterfaces();	this.AddRef();}/** * Checks that this class can be subclassed. * <p> * The SWT class library is intended to be subclassed  * only at specific, controlled points. This method enforces this * rule unless it is overridden. * </p><p> * <em>IMPORTANT:</em> By providing an implementation of this * method that allows a subclass of a class which does not  * normally allow subclassing to be created, the implementer * agrees to be fully responsible for the fact that any such * subclass will likely fail between SWT releases and will be * strongly platform specific. No support is provided for * user-written classes which are implemented in this fashion. * </p><p> * The ability to subclass outside of the allowed SWT classes * is intended purely to enable those not on the SWT development * team to implement patches in order to get around specific * limitations in advance of when those limitations can be * addressed by the team. Subclassing should not be attempted * without an intimate and detailed understanding of the hierarchy. * </p> * * @exception SWTException <ul> *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li> * </ul> */protected void checkSubclass () {	String name = getClass().getName ();	String validName = Clipboard.class.getName();	if (!validName.equals(name)) {		DND.error (SWT.ERROR_INVALID_SUBCLASS);	}}/** * Throws an <code>SWTException</code> if the receiver can not * be accessed by the caller. This may include both checks on * the state of the receiver and more generally on the entire * execution context. This method <em>should</em> be called by * widget implementors to enforce the standard SWT invariants. * <p> * Currently, it is an error to invoke any method (other than * <code>isDisposed()</code>) on a widget that has had its  * <code>dispose()</code> method called. It is also an error * to call widget methods from any thread that is different * from the thread that created the widget. * </p><p> * In future releases of SWT, there may be more or fewer error * checks and exceptions may be thrown for different reasons. * </p> * * @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> */protected void checkWidget () {	Display display = this.display;	if (display == null) DND.error (SWT.ERROR_WIDGET_DISPOSED);	if (display.getThread() != Thread.currentThread ()) DND.error (SWT.ERROR_THREAD_INVALID_ACCESS);	if (display.isDisposed()) DND.error(SWT.ERROR_WIDGET_DISPOSED);}/** * Disposes of the operating system resources associated with the clipboard.  * The data will still be available on the system clipboard after the dispose  * method is called.   *  * <p>NOTE: On some platforms the data will not be available once the application * has exited or the display has been disposed.</p> *  * @exception SWTException <ul> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li> * </ul> */public void dispose () {	if (isDisposed()) return;	if (display.getThread() != Thread.currentThread()) DND.error(SWT.ERROR_THREAD_INVALID_ACCESS);	if (COM.OleIsCurrentClipboard(this.iDataObject.getAddress()) == COM.S_OK) {		COM.OleFlushClipboard();	}		this.Release();	display = null;}/** * Retrieve the data of the specified type currently available on the system clipboard.  Refer to the  * specific subclass of <code>Tramsfer</code> to determine the type of object returned. *  * <p>The following snippet shows text and RTF text being retrieved from the clipboard:</p> *  *    <code><pre> *    Clipboard clipboard = new Clipboard(display); *    TextTransfer textTransfer = TextTransfer.getInstance(); *    String textData = (String)clipboard.getContents(textTransfer); *    if (textData != null) System.out.println("Text is "+textData); *    RTFTransfer rtfTransfer = RTFTransfer.getInstance(); *    String rtfData = (String)clipboard.getContents(rtfTransfer); *    if (rtfData != null) System.out.println("RTF Text is "+rtfData); *    clipboard.dispose(); *    </code></pre> *  * @see Transfer *  * @param transfer the transfer agent for the type of data being requested *  * @return the data obtained from the clipboard or null if no data of this type is available *  * @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> * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if transfer is null</li> * </ul> */public Object getContents(Transfer transfer) {	checkWidget();	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);	/*	* Bug in Windows. When a new application takes control	* of the clipboard, other applications may open the 	* clipboard to determine if they want to record the 	* clipoard updates.  When this happens, the clipboard 	* can not be accessed until the other application is	* finished.  To allow the other applications to release	* the clipboard, use PeekMessage() to enable cross thread	* message sends.	*/	int[] ppv = new int[1];	int retryCount = 0;	int result = COM.OleGetClipboard(ppv);	while (result != COM.S_OK && retryCount++ < 10) {		try { Thread.sleep(50);} catch (Throwable t) {}		MSG msg = new MSG();		COM.PeekMessage (msg, 0, 0, 0, OS.PM_NOREMOVE | OS.PM_NOYIELD);		result = COM.OleGetClipboard(ppv);	}	if (result != COM.S_OK) return null;	IDataObject dataObject = new IDataObject(ppv[0]);	try {		TransferData[] allowed = transfer.getSupportedTypes();		for (int i = 0; i < allowed.length; i++) {			if (dataObject.QueryGetData(allowed[i].formatetc) == COM.S_OK) {				TransferData data = allowed[i];				data.pIDataObject = ppv[0];				return transfer.nativeToJava(data);			}		}			} finally {		dataObject.Release();	}	return null; // No data available for this transfer}/** * Returns <code>true</code> if the clipboard has been disposed, * and <code>false</code> otherwise. * <p> * This method gets the dispose state for the clipboard. * When a clipboard has been disposed, it is an error to * invoke any other method using the clipboard. * </p> * * @return <code>true</code> when the widget is disposed and <code>false</code> otherwise *  * @since 3.0 */public boolean isDisposed () {	return (display == null);}/** * Place data of the specified type on the system clipboard.  More than one type of * data can be placed on the system clipboard at the same time.  Setting the data  * clears any previous data of the same type from the system clipboard and also * clears data of any other type currently on the system clipboard. *  * <p>NOTE: On some platforms, the data is immediately copied to the system * clipboard but on other platforms it is provided upon request.  As a result, if the  * application modifes the data object it has set on the clipboard, that modification  * may or may not be available when the data is subsequently requested.</p> * * <p>The following snippet shows text and RTF text being set on the clipboard:</p> *  * <code><pre> * 	Clipboard clipboard = new Clipboard(display); *		String textData = "Hello World"; *		String rtfData = "{\\rtf1\\b\\i Hello World}"; *		TextTransfer textTransfer = TextTransfer.getInstance(); *		RTFTransfer rtfTransfer = RTFTransfer.getInstance(); *		clipboard.setContents(new Object[]{textData, rtfData}, new Transfer[]{textTransfer, rtfTransfer}); *		clipboard.dispose(); * </code></pre> * * @param data the data to be set in the clipboard * @param dataTypes the transfer agents that will convert the data to its platform  * specific format; each entry in the data array must have a corresponding dataType *  * @exception IllegalArgumentException <ul> *    <li>ERROR_INVALID_ARGUMENT - if data is null or datatypes is null  *          or the length of data is not the same as the length of dataTypes</li> *   </ul> *  @exception SWTError <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> *    <li>ERROR_CANNOT_SET_CLIPBOARD - if the clipboard is locked or otherwise unavailable</li>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美影音先锋| 精品国产乱码久久久久久蜜臀| 成人激情小说乱人伦| 豆国产96在线|亚洲| 色香蕉久久蜜桃| 日韩精品中文字幕在线一区| 欧美精品一区二区三区四区| 亚洲精品videosex极品| 日韩av中文在线观看| 久久99国产精品久久99| 白白色亚洲国产精品| 欧美日本在线观看| 国产亚洲综合av| 日韩高清在线电影| 懂色av中文字幕一区二区三区| 色婷婷综合久久久中文一区二区| 欧美一区二区三区播放老司机| 久久久久久黄色| 欧美a级一区二区| 色婷婷激情综合| 国产性做久久久久久| 免费人成精品欧美精品| 国产综合色视频| 欧美精品欧美精品系列| 亚洲精品视频在线| 成人app下载| 国产精品久久久久影院亚瑟| 久久不见久久见中文字幕免费| 在线观看免费一区| 一区二区三区四区精品在线视频| 成人激情综合网站| 国产精品传媒入口麻豆| 欧美日韩精品专区| 午夜精品成人在线| 欧美丝袜丝交足nylons| 亚洲高清免费视频| 欧美日韩精品欧美日韩精品一综合| 亚洲国产精品麻豆| 欧美人妖巨大在线| 偷拍与自拍一区| 日韩欧美成人一区二区| 捆绑调教一区二区三区| 久久久久亚洲蜜桃| 成人av资源在线观看| 亚洲欧美国产毛片在线| 欧美日韩精品三区| 国产黄人亚洲片| 亚洲伦在线观看| 在线电影一区二区三区| 国产精品中文字幕日韩精品| 亚洲同性同志一二三专区| 精品视频在线免费看| 国产一区二区在线观看视频| 一区二区三区四区在线播放| 久久嫩草精品久久久久| 91网站最新地址| 蜜臀久久99精品久久久久久9| 亚洲精品国产无天堂网2021| 日本韩国欧美一区| 国产电影一区二区三区| 日韩国产高清在线| 亚洲欧洲中文日韩久久av乱码| 在线不卡免费av| 97成人超碰视| 激情综合色综合久久| 亚洲第一狼人社区| 亚洲欧美日韩中文字幕一区二区三区| 91精品啪在线观看国产60岁| 97精品久久久午夜一区二区三区| 国产在线看一区| 日日夜夜精品视频免费| 亚洲激情六月丁香| 国产精品麻豆欧美日韩ww| 久久婷婷久久一区二区三区| 7777精品伊人久久久大香线蕉超级流畅| 欧美激情资源网| 国产欧美日韩激情| 国产人成一区二区三区影院| 精品国产乱码久久久久久老虎 | 欧美日韩在线播| 在线精品视频免费播放| 99在线精品一区二区三区| 北条麻妃国产九九精品视频| 九九九久久久精品| 精品一区二区三区免费视频| 国产成人精品免费网站| 欧美无砖砖区免费| 日韩三级视频在线看| 日韩欧美国产三级电影视频| 久久蜜臀中文字幕| 国产精品无遮挡| 综合婷婷亚洲小说| 秋霞午夜鲁丝一区二区老狼| 国产在线一区观看| 色妞www精品视频| 这里是久久伊人| 中文字幕一区二区三区在线不卡| 亚洲一区av在线| 国产在线播放一区二区三区| 91视频.com| 日韩精品一区二区在线| 亚洲色图欧美在线| 国产资源精品在线观看| 欧美日韩亚洲综合| 久久先锋影音av| 日本在线不卡视频| 色婷婷激情久久| 国产精品日韩成人| 黄色日韩网站视频| 欧美老女人在线| 久久电影国产免费久久电影| 欧美日韩二区三区| 一区二区三区在线免费视频| 懂色av一区二区夜夜嗨| 久久午夜色播影院免费高清| 免费在线成人网| 日韩欧美一区电影| 亚洲va中文字幕| 欧美日韩色一区| 午夜精品123| 91精品国产高清一区二区三区蜜臀 | 国产女人18毛片水真多成人如厕| 久久国产精品无码网站| 777欧美精品| 美女脱光内衣内裤视频久久影院| 日韩网站在线看片你懂的| 三级影片在线观看欧美日韩一区二区| 欧美亚男人的天堂| 日本伊人午夜精品| 日韩一区二区视频在线观看| 久久se这里有精品| 精品99999| 成人国产在线观看| 怡红院av一区二区三区| 欧美网站一区二区| 久久99精品久久久久久| 国产午夜精品美女毛片视频| 91丨九色丨蝌蚪丨老版| 亚洲品质自拍视频网站| 欧美日韩www| 99riav一区二区三区| 亚洲一区二区美女| 精品乱码亚洲一区二区不卡| 在线不卡免费av| 9久草视频在线视频精品| 五月天丁香久久| 久久久久久久一区| 在线亚洲免费视频| 麻豆精品久久久| 自拍偷拍国产精品| 久久色在线观看| 欧美三级蜜桃2在线观看| 夜夜精品视频一区二区| 国产在线视频一区二区| 亚洲欧洲综合另类在线| 精品国产网站在线观看| 99久久久无码国产精品| 国产成人午夜电影网| 亚洲在线观看免费| 亚洲免费观看高清完整 | 日韩一区在线播放| 国产午夜精品一区二区三区视频| 欧美一二三四区在线| 欧美在线制服丝袜| av一区二区三区在线| a在线欧美一区| 9色porny自拍视频一区二区| 粉嫩蜜臀av国产精品网站| 精品亚洲成a人| 国产高清不卡一区| 成人黄色网址在线观看| 99国产精品久| 欧美日韩三级在线| 欧美日韩激情一区二区三区| 欧美日韩国产在线播放网站| 在线观看国产日韩| 日韩亚洲欧美高清| 国产夜色精品一区二区av| 亚洲欧洲日韩女同| 亚洲免费视频成人| 天堂va蜜桃一区二区三区| 老鸭窝一区二区久久精品| 国产一区激情在线| 91丨porny丨首页| 日韩一级高清毛片| 综合久久给合久久狠狠狠97色| 亚洲免费观看视频| 久久精品国产精品亚洲红杏| 成人av免费在线观看| 欧美日韩激情一区二区| 日本一区二区三区在线观看| 亚洲免费高清视频在线| 久久成人精品无人区| 色呦呦国产精品| 久久影院午夜论| 亚洲国产精品久久人人爱 | 中文字幕第一区| 免费在线欧美视频| 4438x成人网最大色成网站| 自拍偷拍国产亚洲|