要用到java.awt.datatransfer包中的Clipboard类

import java.awt.*;import java.awt.event.*;

import java.awt.datatransfer.*;

public class Test extends Frame implements ActionListener

{ MenuBar menubar; Menu menu;

MenuItem copy,cut,paste;

TextArea text1,text2;

Clipboard clipboard=null;

Test()

{ clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。

menubar=new MenuBar();

menu=new Menu("Edit"); copy=new MenuItem("copy");

cut=new MenuItem ("cut"); paste=new MenuItem ("paste");

text1=new TextArea(20,20); text2=new TextArea(20,20);

copy.addActionListener(this); cut.addActionListener(this);

paste.addActionListener(this);

setLayout(new FlowLayout());

menubar.add(menu);

menu.add(copy); menu.add(cut); menu.add(paste);

setMenuBar(menubar);

add(text1);add(text2);

setBounds(100,100,200,250); setVisible(true);pack();

addWindowListener(new WindowAdapter()

{public void windowClosing(WindowEvent e)

{System.exit(0);

}

}) ;

}

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==copy) //拷贝到剪贴板。

{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。

StringSelection text=new StringSelection(temp);

clipboard.setContents(text,null);

}

else if(e.getSource()==cut) //剪贴到剪贴板。

{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。

StringSelection text=new StringSelection(temp);

clipboard.setContents(text,null);

int start=text1.getSelectionStart();

int end =text1.getSelectionEnd();

text1.replaceRange("",start,end) ; //从Text1中删除被选取的文本。

}

else if(e.getSource()==paste) //从剪贴板粘贴数据。

{ Transferable contents=clipboard.getContents(this);

DataFlavor flavor= DataFlavor.stringFlavor;

if( contents.isDataFlavorSupported(flavor))

try{ String str;

str=(String)contents.getTransferData(flavor);

text2.append(str);

}

catch(Exception ee){}

}

}

public static void main(String args[])

{ Test win=new Test();

}

}

赞同

5| 评论(2)

java 实现复制_在java中如何实现复制,粘贴,剪切相关推荐

  1. java gradle构建_在Gradle中为JPMS构建Java 6-8库

    java gradle构建 通过提供Java 9 module-info.class了解如何使用Gradle构建支持JPMS( Java平台模块系统 )的Java 6-8库. 介绍 如果您需要JPMS ...

  2. java coin介绍_代码示例中的Java 7:Project Coin

    java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...

  3. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  4. java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创

    由于项目中用到了Applet与Servlet之间(客户端用Applet.Server端用Servlet)的通信,要求: 1:>客户端与服务端必须出Log. 2:>浏览器在加载Applet时 ...

  5. java jar 目录_将Java类路径中的所有jar包括在一个目录中

    有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...

  6. java避免空指针异常_避免Java中的空指针异常

    java避免空指针异常 空指针异常是Java中最常见,最烦人的异常. 在这篇文章中,我想避免这种不希望的异常. 首先让我们创建引发空指针异常的示例 private Boolean isFinished ...

  7. ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home

    我有错误 Exception in thread"main" java.lang.NoClassDefFoundError: 当我尝试在Ubuntu上运行编译类时.我使用的是一个非 ...

  8. java字符串数组排序_在Java中对字符串数组进行排序

    允许用户使用字符串数组.他们可以向数组添加字符串,从数组中删除字符串,搜索数组中的字符串,最终他们将能够对数组进行排序.分类是搞砸我的原因.我尝试过几种不同的方法.第一种方法是将数组转换为ArrayL ...

  9. java 异常对象_在java中的异常处理中的异常对象是什么

    展开全部 Exception类以及他的子类 的一个实例对象 比如32313133353236313431303231363533e58685e5aeb931333264633563 常见异常 1. j ...

  10. java biginteger使用_在Java中使用BigInteger值

    java.math.BigInteger类为Java的所有原始整数运算符以及java.lang.Math中的所有相关方法提供操作类似物. BigInteger类用于超出原始数据类型限制的大整数计算.它 ...

最新文章

  1. java 如何只暴露接口_Java并发异步编程,原来十个接口的活现在只需要一个接口就搞定...
  2. abstract interface 和 interface 没有区别
  3. JavaScript:Object.prototype.toString方法的原理
  4. c语言表示测试结束,C语言简单测试题
  5. git常用操作,切换分支,合并分支
  6. 【Qt串口调试助手】1.7 - QLabel标签插入链接,修改Qt应用图标
  7. java打印等腰三角形_为什么大家都说Java中只有值传递?
  8. 真封神服务器怎么修改,手把手教你修改炫酷真封神游戏角色名
  9. JAVA操作FTP(FTP工具类)
  10. vSphere虚拟网络02 - 虚拟交换机
  11. 现代 opengl 的驱动安装
  12. icon php图标集合,iconfont字体图标和各种css小图标的详解
  13. 计算机二级(Python)——02数值运算函数
  14. LinkTrack UWB定位系统NLink协议解析方法
  15. mac Matlab 运行一段时间后 崩溃 Matlab遇到一个内部错误,需要关闭
  16. python数据类型、编码
  17. 文泰 单笔划 字 教程
  18. 损失函数及对应的任务(待续)
  19. 液晶面板价格上涨,中国面板获益巨大,对中国制造产生深远影响
  20. secoclient报错接收返回码超时,Windows 无法验证此设备所需的驱动程序的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。

热门文章

  1. 移动apn接入点哪个快_最新联通上网卡APN的设置方法
  2. 解析php变量,php使用parse_str实现查询字符串解析到变量中的方法
  3. linux下查询汇编指令手册,Linux命令大全
  4. matlab中投影,MATLAB在极射赤平投影中的应用
  5. 机器视觉:PCI和PCI-E总线简介
  6. ML.NET 发布0.11版本:.NET中的机器学习,具有TensorFlow和ONNX的新功能
  7. 20、Tabs底部导航栏
  8. Hadoop MapReduce编程 API入门系列之wordcount版本3(七)
  9. mui ajax方法
  10. WampServer64的2.5版本配置多站点