Java 访问剪切板(复制,粘贴)的示例
作者:javapub 时间:2023-11-10 12:26:13
以下共有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);
}
来源:https://www.iteye.com/blog/javapub-939167
标签:java,剪切板,复制,粘贴
0
投稿
猜你喜欢
Java 使用poi把数据库中数据导入Excel的解决方法
2022-09-19 14:18:52
将本地jar包安装进入maven仓库(实现方法)
2022-06-18 00:35:54
Android手机屏幕同步工具asm.jar
2023-10-31 20:01:26
Java之Jackson的基本使用案例讲解
2022-05-27 22:08:49
在IntelliJ IDEA中使用gulp的方法步骤(图文)
2022-10-12 06:29:08
Spring Cache框架应用介绍
2023-06-15 22:32:59
Android中post请求传递json数据给服务端的实例
2022-04-21 01:51:18
ref与out之间的区别深入解析
2023-08-05 23:45:28
详细聊聊C#的并发机制优秀在哪
2023-03-04 15:41:18
Android如何优雅的处理重复点击
2022-08-11 20:22:35
C#访问及调用类中私有成员与方法示例代码
2022-06-02 05:30:35
C#清除字符串内空格的方法
2023-10-07 15:51:04
浅析Mybatis Plus和Mybatis的区别
2022-12-05 18:14:18
Unity 数据存储和读取的方法汇总
2021-12-12 11:39:47
C#实现QQ截图功能及相关问题
2022-10-30 08:47:01
解决Android软键盘弹出覆盖h5页面输入框问题
2023-06-19 11:33:24
Java 使用 HttpClient 发送 GET请求和 POST请求
2023-07-23 07:56:13
简介Winform中创建用户控件
2021-10-14 04:39:37
SpringBoot 在项目启动之后执行自定义方法的两种方式小结
2021-05-25 15:46:36
Java8中的Stream 流实践操作
2021-11-01 19:59:33