zoukankan      html  css  js  c++  java
  • 关于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);

                 」

           

                           

  • 相关阅读:
    游标和视图
    sql server 变量与集合运算
    sql server 流程控制
    sql server 基础查询和子查询
    数据库范式快速理解
    创建数据库与数据表
    SQL server 使用
    Android studio 下载依赖jar包慢
    java根据list数据通过接口姓名并填充
    【翻译】Promises/A+规范
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/8489259.html
Copyright © 2011-2022 走看看