java怎么使用剪切板
2016-06-23 23:51
393 查看
Java提供两种类型的剪贴板:系统的和本地的.
本地剪贴板只在当前虚拟机中有效.Java允许多个本地剪贴板同时存在,可以方便地通过剪贴板的名称来进行存取访问.
系统剪贴板与同等操作系统直接关连,允许应用程序与运行在该操作系统下的其它程序之间进行信息交换.
在进一步深入之前,先看看与剪贴板相同的java类,这些类主要包含在java.awt.datatransfer包中,主要有以下几种:
Clipboard类: 此类实现一种使用剪切/复制/粘贴操作传输数据的机制.
ClipboardOwner接口: 任何处理剪贴板的类都必须实现该接口.该接口用于剪贴板中的原始数据被替换时发出通知.
Dataflavor类: 提供有关数据的元信息,通常用于访问剪切板上的数据。
Transferable接口: 为传输操作提供数据所使用的类的接口
StringSelection类: 实现传输String所需能力的Transferable
Clipboard类:方法
1.String getName(); 返回剪切板对象的名字
2.setContents(Transferable contents,ClipOwner owner);
讲剪切板的内容设置到指定的Transferable对象,并将指定的剪切板所有者作为新内容的所有者注册
3.Transferable getContents(null);
返回表示剪贴板当前内容的 transferable 对象。无则null
4.DataFlavor[] getAvailableDataFlavors();
返回 DataFlavor 的数组,其中提供了此剪贴板的当前内容。无则null
5.boolean isDataFlavorAvailable(DataFlavor flavor);
返回是否能够以指定的 DataFlavor 形式提供此剪贴板的当前内容。
6.Object getData(DataFlavor flavor);
返回一个对象,表示此剪贴板中指定 DataFlavor 类型的当前内容。
Transferable接口:
属性:
1.stringFlavor:字符串数据
2.imageFlavor:图片数据
方法:
1.Object getTransferData(DataFlavor flavor)
返回一个对象,该对象表示将要被传输的数据。
2.DataFlavorgetTransferDataFlavors()
返回 DataFlavor 对象的数组,指示可用于提供数据的 flavor。
3.boolean isDataFlavorSupported(DataFlavor flavor)
返回此对象是否支持指定的数据 flavor。
例子:1.往剪切板里面写文本数据
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable trandata = new StringSelection("4654654");
clipboard.setContents(trandata, null);
2.获取剪切板中的内容(文本数据)
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipT = clipboard.getContents(null);
//获取文本中的Transferable对象
if(clipT!=null){
if(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
//判断内容是否为文本类型stringFlavor
return (String)clipT.getTransferData(DataFlavor.stringFlavor);
//返回指定flavor类型的数据
本地剪贴板只在当前虚拟机中有效.Java允许多个本地剪贴板同时存在,可以方便地通过剪贴板的名称来进行存取访问.
系统剪贴板与同等操作系统直接关连,允许应用程序与运行在该操作系统下的其它程序之间进行信息交换.
在进一步深入之前,先看看与剪贴板相同的java类,这些类主要包含在java.awt.datatransfer包中,主要有以下几种:
Clipboard类: 此类实现一种使用剪切/复制/粘贴操作传输数据的机制.
ClipboardOwner接口: 任何处理剪贴板的类都必须实现该接口.该接口用于剪贴板中的原始数据被替换时发出通知.
Dataflavor类: 提供有关数据的元信息,通常用于访问剪切板上的数据。
Transferable接口: 为传输操作提供数据所使用的类的接口
StringSelection类: 实现传输String所需能力的Transferable
Clipboard类:方法
1.String getName(); 返回剪切板对象的名字
2.setContents(Transferable contents,ClipOwner owner);
讲剪切板的内容设置到指定的Transferable对象,并将指定的剪切板所有者作为新内容的所有者注册
3.Transferable getContents(null);
返回表示剪贴板当前内容的 transferable 对象。无则null
4.DataFlavor[] getAvailableDataFlavors();
返回 DataFlavor 的数组,其中提供了此剪贴板的当前内容。无则null
5.boolean isDataFlavorAvailable(DataFlavor flavor);
返回是否能够以指定的 DataFlavor 形式提供此剪贴板的当前内容。
6.Object getData(DataFlavor flavor);
返回一个对象,表示此剪贴板中指定 DataFlavor 类型的当前内容。
Transferable接口:
属性:
1.stringFlavor:字符串数据
2.imageFlavor:图片数据
方法:
1.Object getTransferData(DataFlavor flavor)
返回一个对象,该对象表示将要被传输的数据。
2.DataFlavorgetTransferDataFlavors()
返回 DataFlavor 对象的数组,指示可用于提供数据的 flavor。
3.boolean isDataFlavorSupported(DataFlavor flavor)
返回此对象是否支持指定的数据 flavor。
例子:1.往剪切板里面写文本数据
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable trandata = new StringSelection("4654654");
clipboard.setContents(trandata, null);
2.获取剪切板中的内容(文本数据)
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipT = clipboard.getContents(null);
//获取文本中的Transferable对象
if(clipT!=null){
if(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
//判断内容是否为文本类型stringFlavor
return (String)clipT.getTransferData(DataFlavor.stringFlavor);
//返回指定flavor类型的数据
相关文章推荐
- Struts2系列:(9)Struts的配置文件
- 使用Maven搭建Spring+SpringMVC+Mybatis+ehcache项目
- Java compiler level does not match解决方法
- spring mvc对视图解析器controller返回数据转换json的处理的相关配置
- compileDebugJavaWithJavac.compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
- java传参方式
- Hash表分析以及Java实现
- 算法设计课程设计--任务时间表问题
- JavaMail:用Authenticator的子类进行身份验证及策略模式
- 简单Spring容器实现
- SSM+Maven环境搭建
- JAVA 深入数组之 内存中的数组
- java多线程例子
- Eclipse如何自定义format代码
- 做安卓开发必须要注意的事项
- mina高并发短连接导致java.io.IOException: Too many open files解决方案
- 关于Java中Daemon线程
- 简单的线程池实现 Java
- JavaMail入门:创建纯文本、HTML格式的邮件
- JavaMaill:使用MIME协议创建内含图片的复杂邮件