Java 访问剪切板(复制,粘贴)的示例

以下共有4个函数分别是:

1.从剪切板获得文字。
2.将字符串复制到剪切板。
3.从剪切板获得图片。
4.复制图片到剪切板。

/**
	 * 从剪切板获得文字。
	 */
	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;
	}

	/**
	 * 将字符串复制到剪切板。
	 */
	public static void setSysClipboardText(String writeMe) {
		Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
		Transferable tText = new StringSelection(writeMe);
		clip.setContents(tText, null);
	}

	/**
	 * 从剪切板获得图片。
	 */
	public static Image getImageFromClipboard() throws Exception {
		Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
		Transferable cc = sysc.getContents(null);
		if (cc == null)
			return null;
		else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
			return (Image) cc.getTransferData(DataFlavor.imageFlavor);
		return null;
	}

	/**
	 * 复制图片到剪切板。
	 */
	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);
	}

以上就是Java 访问剪切板(复制,粘贴)的示例的详细内容,更多关于java 剪切板的资料请关注我们其它相关文章!

(0)

相关推荐

  • java简单实现复制 粘贴 剪切功能代码分享

    废话不多说,直接上代码,小伙伴们仔细看下注释吧. 复制代码 代码如下: /*简单的复制 剪切 粘贴 功能  操作:     复制测试: 输入文本选择文本,点击复制,然后将光标放在右边的TextArea,点击粘贴   剪切测试:输入文本选择文本,然后将光标放在右边的TextArea,点击剪切   */ import javax.swing.*; import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.*; p

  • java实现文本复制功能

    本文实例为大家分享了java实现文本复制的具体代码,供大家参考,具体内容如下 *字符流(读,写) *缓冲字符流(读,写) 文本复制功能: package cn.yunhe.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.R

  • Java 图片复制功能实现过程解析

    需求说明 实现思路 见代码注释 代码内容 使用IO复制图片 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * @auther::9527 * @Description: 第十题 * @program: 多线程 * @create: 2019-08-10 00:26 */ pu

  • java将一个目录下的所有文件复制n次

    本文实例为大家分享了java将一个目录下的所有文件复制n次的具体代码,供大家参考,具体内容如下 1. 文件复制示意图 2.java程序 (1).调用 final static String SOURCESTRING = "/Users/amarao/360/download/test/"; final static String OUTPUTSTRING = "/Users/amarao/360/download/test4/"; public static voi

  • java将一个目录下的所有数据复制到另一个目录下

    本文实例为大家分享了java将一个目录下的所有数据复制到另一个目录下的具体代码,供大家参考,具体内容如下 /* 将"C:\\JavaProducts\\Source"下的所有数据复制到"C:\\Target"下 */ import java.io.*; public class JavaCopyDemo{ final static String SOURCESTRING = "C:\\JavaProducts\\Source"; final st

  • Java 添加、修改、读取、复制、删除Excel批注的实现

    批注,是作者或审阅者给文档添加的注释或注解.通过查看批注,可以更加详细地了解某些文字的背景.除了直接添加文本信息外,还可为文本信息填充背景图片使其更具丰富性和美观性.本文将通过使用Java程序来演示如何在Excel文档中添加.修改.读取.复制和删除批注. 使用工具: Free Spire.XLS for Java(免费版) Jar文件获取及导入: 方法1:通过官方网站下载获取jar包.解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序.(如下图) 方法2:通过maven仓库安

  • 利用Java实现复制Excel工作表功能

    本文归纳了关于Java如何复制Excel工作表的方法,按不同复制需求,可分为: 1. 复制工作表 1.1 在同一个工作簿内复制工作表 1.2 在不同工作簿间复制工作表 2. 复制指定单元格数据 对于复制方法copy(),这里简单整理了一个表格,其中包含了对数据复制的不同应用需求,可参考使用: 方法 解释 copyFrom(Worksheet worksheet) 复制自源工作表的数据 copy(CellRange sourceRange, CellRange destRange) 复制源数据到目

  • Java实现inputstream流的复制代码实例

    这篇文章主要介绍了Java实现inputstream流的复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 获取到一个inputstream后,可能要多次利用它进行read的操作.由于流读过一次就不能再读了,而InputStream对象本身不能复制,而且它也没有实现Cloneable接口,所以得想点办法. 实现思路: 1.先把InputStream转化成ByteArrayOutputStream 2.后面要使用InputStream对象

  • Java对象的复制三种方式(小结)

    1.概述 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的.例如下面程序展示的情况: class Student { private int number; public int getNumber() { return number; } public void setNumber(int number)

  • 详解Java中IO字节流基本操作(复制文件)并测试性能

    此次案例将以复制文件的形式来演示IO字节流的基本操作,复制一个mp3文件,文件信息如下图: main方法测试 public static void main(String[] args) throws Exception { //源文件 String srcFile = "src/a.mp3"; //目的文件 String destFile = "src/b.mp3"; long start = System.currentTimeMillis(); ... 复制文

  • Java加速读取复制超大文件

    用文件通道(FileChannel)来实现文件复制,供大家参考,具体内容如下 不考虑多线程优化,单线程文件复制最快的方法是(文件越大该方法越有优势,一般比常用方法快30+%): 直接上代码: package test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io

  • java递归实现复制一个文件夹下所有文件功能

    今天开始学习java的IO,学了一个复制文件的例子程序后想自己实现以下如何复制一个文件夹,复制文件的例子程序如下: package io.github.liuzhan214; import java.io.File; import java.io.IOException; public class Main { void solve() { File file = new File("F:\\javaIOTest\\new.txt"); if(!file.exists()) { try

随机推荐