java复制粘贴剪切方法代码_java_java简单实现复制 粘贴 剪切功能代码分享,废话不多说,直接上代码,小 - phpStudy...

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();

}

}

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

PHP的Yii框架入门使用教程

jquery获取css的color值返回RGB的方法

JS获取html对象的几种方式介绍

iOS开发之自定义UITextField的方法

C语言中对文件最基本的读取和写入函数

苹果mac修改dns设置百度公共dns过程图解

Android中的Adapter简单介绍

html5 css3网站菜单实现代码

PHP常见的6个错误提示及解决方法

php实现简单的上传进度条

Win7系统联想笔记本开机提示pxe-mof:exiting pxe rom的原因及解决方法

实例解析Android中使用Pull解析器解析XML的方法

Java设计模式之迭代模式(Iterator模式)介绍

js中用window.open()打开多个窗口的name问题


版权声明:本文为weixin_33982355原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。