Java 工具类---操作系统剪贴板
之前网上找到的一个工具类具体出处我忘了。
这里贴上源代码:
package clipboard.util;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.image.BufferedImage;
import java.io.IOException;
public class SysClipboardUtil {
/** * 从剪贴板中获取文本字符串。 * @return 剪贴板中的文本。 */
public static String getSysClipboardText()
{
String ret = "";
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
// 获取剪切板中的内容
Transferable clipTf = sysClip.getContents(null);
if (clipTf != null)
{
// 检查内容是否是文本类型
if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor))
{
try
{
ret = (String) clipTf
.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
return ret;
}
/** * 把字符串写到系统剪贴板。 * @param writeMe 要写入剪贴板的文本 */
public static void setSysClipboardText(String writeMe)
{
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}
/** * 从系统剪贴板获取图片。 * @return 系统剪贴板里面的图片。 */
public static BufferedImage getImageFromClipboard()
{
try
{
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable cc = sysc.getContents(null);
if (cc == null)
return null;
else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
return (BufferedImage) cc
.getTransferData(DataFlavor.imageFlavor);
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/** * 把图片复制到剪贴板中。 * @param image 要复制到剪贴板的图片。 */
public static void setClipboardImage(final Image image)
{
Transferable trans = new Transferable()
{
public DataFlavor[] getTransferDataFlavors()
{
return new DataFlavor[]
{DataFlavor.imageFlavor};
}
public boolean isDataFlavorSupported(DataFlavor flavor)
{
return DataFlavor.imageFlavor.equals(flavor);
}
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException
{
if (isDataFlavorSupported(flavor))
return image;
throw new UnsupportedFlavorException(flavor);
}
};
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,
null);
}
}
使用该类可以往系统剪贴板中写入文字,获取文字。写入图片,获取图片。该工具对应jar包地址:
https://download.csdn.net/download/qq_21808961/10449878
还没有评论,来说两句吧...