200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > java 实现复制_在java中如何实现复制 粘贴 剪切

java 实现复制_在java中如何实现复制 粘贴 剪切

时间:2020-07-16 09:11:56

相关推荐

java 实现复制_在java中如何实现复制 粘贴 剪切

要用到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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。