Java 访问剪切板(复制,粘贴)的示例
作者:javapub 发布时间:2023-11-10 12:26:13
标签: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);
}
来源:https://www.iteye.com/blog/javapub-939167
0
投稿
猜你喜欢
- 本文实例讲述了C#中TreeView节点的自定义绘制方法。分享给大家供大家参考。具体如下:if ((e.State & TreeNo
- 这一篇博客我们来使用 UGUI 实现图片的拖拽功能。说到拖拽,那必然离不开坐标,UGUI 的坐标有点不一样,它有两种坐标,一种是屏幕坐标,还
- Android输入框实时模糊搜索很多开发场景会用到搜索框实时模糊搜索来帮助用户输入内容,如图思路是在EditText 字符变动的时候 弹出L
- 前言:本文主要介绍内容有:一个串行调用的例子(App首页信息查询)CompletionService实现并行调用抽取通用的并行调用方法代码思
- 为什么要用Flyway在日常开发中,我们经常会遇到下面的问题:自己写的SQL忘了在所有环境执行;别人写的SQL我们不能确定是否都在所有环境执
- 为什么要优雅的处理异常如果我们不统一的处理异常,经常会在controller层有大量的异常处理的代码, 比如:@Slf4j@Api(valu
- 介绍今天主要分享一下 kafka 的 rebalance,在 kafka 中,rebalance 是一个十分重要的概念,很多时候引发的一些问
- 本文实例讲述了Android保持屏幕常亮唤醒状态的方法。分享给大家供大家参考,具体如下:第一步: 首先添加权限:<uses-permi
- 介绍Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式
- 本文实例为大家分享了Java实现部门员工管理的具体代码,供大家参考,具体内容如下项目作业:部门员工管理题目要求:某公司要开发内部的 &
- 执行完post请求后,通常来讲一个最佳实践就是执行重定向。重定向将丢弃原始请求数据,原始请求中的模型数据和请求都会消亡。可以有效避免用户浏览
- 写在前面为什么会突然想说说委托?原因吗,起于一个同事的想法,昨天下班的路上一直在想这个问题,如果给委托注册多个方法,会不会都执行呢?为了一探
- 使用正则表达式进行替换:代码片段:String documentTxt = EntityUtils.toString(entity,&quo
- 我就废话不多说了,大家还是直接看代码吧~import java.io.UnsupportedEncodingException;import
- 本文实例讲述了JAVA过滤标签实现将html内容转换为文本的方法。分享给大家供大家参考,具体如下:/*** 把html内容转为文本* @pa
- 前言J.U.C是java包java.util.concurrent的简写,中文简称并发包,是jdk1.5新增用来编写并发相关的基础api。j
- 动态创建函数大多数同学,都或多或少的使用过。回顾下c#中动态创建函数的进化:C# 1.0中:public delegate string D
- Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。
- 我们知道springboot中的Bean组件的成员变量(属性)如果加上了@Value注解,可以从有效的配置属性资源中找到配置项进行绑定,那么
- 目录“头疼”“吃药”工具代码使用代码“头疼”自己在用Angular做项目时,前端要请求后端数据时的代码如下this.http.get(&qu