java.awt.datatransfer_关于java.awt.datatransfer包的一些知识点

主要是与系统剪切板相关的软件包,主要类为:Clipborad类,可以将其看作是一个剪切板,它具有存储的内容,我们可以取得和设置它的内容,,他的内容被封装在Transferable里面,最终取得数据就是在它里面。说的Transferable接口得提下StringSelection类,这个类就是它的一个实现,专门用来向剪切板传输文本数据的.为什么要叫StringSelection,我想因为平时我们把文本复制到剪切板的时候,这些文本都是被选择好的,所以就会取个这个类名吧.当我们用StringSlection向Clipborad传输数据时,我们的剪切板就可以是一个StringSelection对象,例如:

StringSelection ss=new StringSelection("放入剪切板的文本");

clipboradobj.setContents(ss,ss);//两个参数都是ss,因为StringSelection既是Transferable,也是ClipboardOwner.

DataFlavor:表示的是存储数据的格式,因为我们的剪切板里到底是文本,图像,还是上次复制的文件我们根本不知道,幸好有它让我们可以先知道Clipboard里存的是些什么东西.

一个剪切板还可以加入数据改变的监听器,当剪切板的数据改变时做一些操作.这主要是在Clipboard里加入监听即可.

一个复制文本到剪切板的程序:

import javax.swing.*;

import java.awt.*;

import java.awt.datatransfer.*;

import java.io.IOException;

public class Clip{

public static void main(String[]args){

JFrame jf=new JFrame();

jf.setSize(400,400);

jf.setDefaultCloseOperation(3);

JTextArea jta=new JTextArea();

jf.getContentPane().add(jta);

Clipborad cb=Toolkit.getDefaultToolkit().getSystemClipborad();

//存储到剪切板上

StringSelection ss=new StringSelection("哈哈哈哈哈哈哈哈");

cb.setContent(ss,ss);

//从剪切板上取出

DataFlavor df=DataFlavor.stringFlavor;

Transferable  tt=cb.getContent(df);

try{

System.out.println(tt.getTransferData(df));

}catch(UnsupportedFlavorException e){

e.printStackTrace();

}catch(IOException e){

e.prinStackTrace();

}

jf.setVisible(true);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值