java简单实现复制 粘贴 剪切功能代码分享

废话不多说,直接上代码,小伙伴们仔细看下注释吧。

代码如下:

/*简单的复制 剪切 粘贴 功能
 操作:  
  复制测试: 输入文本选择文本,点击复制,然后将光标放在右边的TextArea,点击粘贴
  剪切测试:输入文本选择文本,然后将光标放在右边的TextArea,点击剪切  
*/
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
public class Demo implements ActionListener
{
 private JFrame jf;
 private JPanel p1, p2, p3;   //上中下
 private JLabel title;
 private JTextArea edit,showMsg;
 private JButton copy,paste,cut;
 Clipboard clipboard;//获取系统剪贴板。
 
 public Demo()
 {
  this.init();
 }
 //界面初始化
 public void init()
 {
  jf = new JFrame("复制粘贴");
  p1 = new JPanel();   //存放标题
  p2 = new JPanel(); //存放JTextArea showMsg
  p3 = new JPanel();  //存放 button
  title = new JLabel("复制粘贴剪切演示");
  edit = new JTextArea("请输入内容",15,25);
  edit.setLineWrap(true);
  showMsg = new JTextArea(15,25);
  showMsg.setLineWrap(true);
  showMsg.setEnabled(false);
  copy = new JButton("复制");
  paste = new JButton("粘贴");
  cut = new JButton("剪切");
  clipboard = jf.getToolkit().getSystemClipboard();
  
  p1.setLayout(new FlowLayout());
  p1.setSize(599,30);
  p1.add(title);
  
  p2.setLayout(new FlowLayout());
  p2.setBackground(Color.gray);
  p2.add(edit);
  p2.add(showMsg);
  
  p3.setLayout(new FlowLayout());
  p3.add(copy);
  p3.add(paste);
  p3.add(cut);
  
  //添加事件监听机制
  copy.addActionListener(this);
  paste.addActionListener(this);
  cut.addActionListener(this);
  
  // this.copyStr(copy);
  jf.add(p1, BorderLayout.NORTH);
  jf.add(p2, BorderLayout.CENTER);
  jf.add(p3, BorderLayout.SOUTH);
  jf.setLocation(400,200);
  jf.setSize(600,450);
  jf.setResizable(false);
  jf.setVisible(true);
 }
 
 //事件处理
 public void actionPerformed(ActionEvent e)
 {
  if(e.getSource() == copy)
  {
   String tempText = edit.getSelectedText();  //拖动鼠标选取文本
   //创建能传输指定 String 的 Transferable。
   StringSelection editText =
     new StringSelection(tempText);
   /**
   将剪贴板的当前内容设置到指定的 transferable 对象,
   并将指定的剪贴板所有者作为新内容的所有者注册。
   */
   clipboard.setContents(editText,null);
  }else if(e.getSource() == cut)
  {
   String tempText = edit.getSelectedText();
   StringSelection editText =
     new StringSelection(tempText);
   clipboard.setContents(editText,null);
   int start= edit.getSelectionStart();
   int end  = edit.getSelectionEnd();
   showMsg.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);
      showMsg.append(str);
     }catch(Exception ex)
     {
      ex.printStackTrace();
     }
      }
  }
 }
 
 public static void main(String[] args)
 {
  new Demo();
 }
}

代码很简单,使用也很方便,小伙伴们有更好的思路的话,请一定要告诉我。

(0)

相关推荐

  • JavaScript禁止复制与粘贴的实现代码

    该操作是网民日常的一些基本操作,但有些网站为了保护版权(如小说类.图片类),禁止用户执行这些操作,这样就可以防止用户将正在浏览的文本,通过复制.粘贴的方式进行传播了. oncopy事件: 定义和用法 oncopy 事件在用户拷贝元素上的内容时触发. 提示: oncopy 事件在用户拷贝元素时也会触发,例如, 拷贝 <img> 元素. 提示: oncopy 事件通常用于 type="text" 的 <input> 元素. 提示: 有三种方式可以拷贝元素和内容: 按

  • 网站内容禁止复制和粘贴、另存为的js代码

    1.使右键和复制失效 方法1: 在网页中加入以下代码: 复制代码 代码如下: <script language="Javascript"> document.oncontextmenu=new Function("event.returnValue=false"); document.onselectstart=new Function("event.returnValue=false"); </script> 方法2:

  • javascript复制粘贴与clipboardData的使用

    window.clipboardData可以实现复制与粘贴的操作,它的getData 方法可以实现数据的读取,setData方法可以实现数据的设置 <script language="javascript"> function readTxt() { alert(window.clipboardData.getData("text")); } function setTxt() { var t=document.getElementById("

  • html5+CSS 实现禁止IOS长按复制粘贴功能

    因为在移动端APP需要实现长按执行别的事件,但是在iOS系统有默认的长按选择复制粘贴,禁止此功能在网上找了很多资料,最终整理出目前最好的解决方法. 项目是APP,已经经过多款手机适配此时,因此可以放心使用. /*设置IOS页面长按不可复制粘贴,但是IOS上出现input.textarea不能输入,因此将使用-webkit-user-select:auto;*/ *{ -webkit-touch-callout:none; /*系统默认菜单被禁用*/ -webkit-user-select:non

  • Windwos服务器远程桌面不能复制粘贴的解决方法

    今天使用远程桌面连接登陆服务器,发现不能在本地电脑和远程服务器之间复制粘贴文件了,复制粘贴文本也不行. 网上搜了一下,主要有两种情况: 1.复制粘贴功能原本可以用,突然失灵了 2.从头到尾都无法使用这个复制粘贴功能 针对第一种情况,只需重启一下rdpclip.exe就可以了. 步骤: 1.打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程 2.开始->运行->rdpclip.exe,重新运行此程序,恢复正常 如果是第二种情况,打开本机的远程桌面连接,按照下图所示,勾选

  • js实现点击图片将图片地址复制到粘贴板的方法

    本文实例讲述了js实现点击图片将图片地址复制到粘贴板的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

  • 复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)

    没想到无心的一个功能,现在已经被大家传的如此猛烈,想当初我们发布出去以后,第二天就发现很多网站都加上了这个功能,有点后悔了,要不我们的外链就会更多了.当然也有反感的,工具是好的就看用的人了. 今天搜索发现还是有很多朋友喜欢这个功能的,这里我们小编继续为大家来个特色整理的版本,大家可以根据需要选择使用. 打开有些网站,当我们浏览某些文章的时候,觉得很好,因此,常常将这些网站的文章进行复制: 之后,粘贴到Word或记事本里面,保存起来,在贯彻落实"拿来主义"的同时,将其"占为己有

  • javascript实现复制与粘贴操作实例

    本文实例讲述了javascript实现复制与粘贴操作的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <script language="javascript"> function readTxt() { alert(window.clipboardData.getData("text")); } function setTxt() { var t=document.getElementById("txt");

  • java简单实现复制 粘贴 剪切功能代码分享

    废话不多说,直接上代码,小伙伴们仔细看下注释吧. 复制代码 代码如下: /*简单的复制 剪切 粘贴 功能  操作:     复制测试: 输入文本选择文本,点击复制,然后将光标放在右边的TextArea,点击粘贴   剪切测试:输入文本选择文本,然后将光标放在右边的TextArea,点击剪切   */ import javax.swing.*; import java.awt.*; import java.awt.datatransfer.*; import java.awt.event.*; p

  • android 复制 粘贴 剪切功能应用

    网上有很多复制粘贴的文章,只是放到自己的程序中不知道如何处理,现在寻得一可行方法如下: Android的剪切板(ClipboardManager) 注意:导包的时候 API 11之前: android.text.ClipboardManager API 11之后: android.content.ClipboardManager 复制代码 代码如下: /** * 实现文本复制功能 * @param content */ public static void copy(String content

  • java实现文件复制、剪切文件和删除示例

    复制代码 代码如下: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; /** * Java实现文件复制.剪切.删除操作 * 文件指文件或文件夹 * 文件分割符统一用"\\" */ public class FileOperateDemo { /**     * 复制文件或文件夹     * @param srcPa

  • iOS高仿微信表情输入功能代码分享

    最近项目需求,要实现一个类似微信的的表情输入,于是把微信的表情扒拉出来,实现了一把.可以从这里下载源码.看起来表情输入没有多少东西,不外乎就是用NSTextAttachment来实现图文混排,结果在实现的过程中遇到了很多小问题,接下来会一一介绍遇到过的坑.先上一张效果图: 一.实现表情选择View(WKExpressionView) 具体的实现就不细说了,主要功能就是点击表情时,将对应表情的图片名称通知给delegate. 二.实现表情textView(WKExpressionTextView)

  • Java NIO实例UDP发送接收数据代码分享

    Java的NIO包中,有一个专门用于发送UDP数据包的类:DatagramChannel,UDP是一种无连接的网络协议, 一般用于发送一些准确度要求不太高的数据等. 完整的服务端程序如下: public class StatisticsServer { //每次发送接收的数据包大小 private final int MAX_BUFF_SIZE = 1024 * 10; //服务端监听端口,客户端也通过该端口发送数据 private int port; private DatagramChann

  • java编程进行动态编译加载代码分享

    简述 该类使用javax.tools.ToolProvider自带的JavaCompiler进行编译,使用IO的File及NIO的Files进行对应的路径创建.读取及拷贝,使用正则表达式进行包名与目录的转换,我只是将这些东西做了个容错整合,没什么技术含量,就为个方便吧. 模块API class DynamicReactor://空参构造 public Class<?> dynamicCompile(String srcPath);//输入一个指定的源文件路径,若编译.拷贝成功则返回该类对应的C

  • java编程实现求质数与因式分解代码分享

    1.求解质数 1.1说明 首先,我们来了解这样一个概念,那就是什么叫做质数?质数:一个数如果只能被1和它自己整除,这样的数被称为质数,与之对应的,称为和数.基于这样的一个概念,我们可以很快想到一个方法,就是从1开始,不断试探,看从1到它自己,是否有数字能够被他整除. 这样看来,其实求质数很简单,我们有没有更加便捷的方式呢?在这里介绍一个著名的Eratosthenes求质数方法. 1.2解法 首先知道这个问题可以使用回圈来求解,将一个指定的数除以所有小于它的数,若可以整除就不是质数,然而如何减少回

  • Angular实现下载安装包的功能代码分享

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html ng-app="myPro"> <head> <meta charset="UTF-8"> <title>angular-实现下载安装包的功能</title> <script src="js/angular.min.js"></script> <sc

  • java编程基础之模仿用户登录代码分享

    上一篇文章我们了解了Java背包问题求解实例代码,接下来我们看看Java中模仿用户登录的相关代码,下面是具体内容. 基于用户从控制台输入模拟的简陋用户登录验证Demo原理: 利用 Scanner 类中 nextLine() 提取用户从控制台输入的字符串信息 利用 String 类的 equals 方法进行用户输入验证 import java.util.Scanner; public class Login { public static void main(String[] args) { //

  • php等比例缩放图片及剪切图片代码分享

    php等比例缩放图片及剪切图片代码分享 /** * 图片缩放函数(可设置高度固定,宽度固定或者最大宽高,支持gif/jpg/png三种类型) * Author : Specs * * @param string $source_path 源图片 * @param int $target_width 目标宽度 * @param int $target_height 目标高度 * @param string $fixed_orig 锁定宽高(可选参数 width.height或者空值) * @ret

随机推荐