All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.apanlh.util.sys.ClipboardUtils Maven / Gradle / Ivy

There is a newer version: 2.0.0.2
Show newest version
package com.gitee.apanlh.util.sys;

import com.gitee.apanlh.exp.ClipboardException;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;

/**	
 * 	剪切板工具类
 * 
 * 	@author Pan
 */
public class ClipboardUtils {
	
	/** 获取AWT工具包 */
	private static final Toolkit DEFAULT_TOOLKIT = Toolkit.getDefaultToolkit();
	
	/**
	 * 	构造函数
	 * 
	 * 	@author Pan
	 */
	private ClipboardUtils() {
		//	不允许外部实例
		super();
	}
	
	/**	
	 * 	获取剪切图片
	 * 	
BufferedImage cutImage = (BufferedImage) getCutImage(); *
落地图片示例:ImageUtils.imageWrite(cutImage, "jpg", "F:\\disc.jpg");方法 * * @author Pan * @return Image */ public static Image getCutImage() { Clipboard systemClipboard = DEFAULT_TOOLKIT.getSystemClipboard(); Transferable contents = systemClipboard.getContents(null); try { if (contents != null && checkDataFlavor(contents, DataFlavor.imageFlavor)) { Image transferData = (Image) contents.getTransferData(DataFlavor.imageFlavor); if (transferData != null) { return transferData; } } return null; } catch (Exception e) { throw new ClipboardException(e.getMessage(), e); } } /** * 获取剪切板文本 * * @author Pan * @return String */ public static String getCutStr() { Transferable contents = DEFAULT_TOOLKIT.getSystemClipboard().getContents(null); if (contents != null && checkDataFlavor(contents, DataFlavor.stringFlavor)) { try { Object transferData = contents.getTransferData(DataFlavor.stringFlavor); if (transferData != null) { return (String) transferData; } } catch (Exception e) { throw new ClipboardException(e.getMessage(), e); } } return null; } /** * 复制文本 * * @author Pan * @param text 文本 */ public static void setCopyStr(String text) { DEFAULT_TOOLKIT.getSystemClipboard().setContents(new StringSelection(text), null); } /** * 检测数据类型 * * @author Pan * @param transferable 剪切板 * @param dataFlavor 数据类型 * @return boolean */ private static boolean checkDataFlavor(Transferable transferable, DataFlavor dataFlavor) { return transferable.isDataFlavorSupported(dataFlavor); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy