重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要用到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();
}
}
大体上是两种方法。
1.你所说的模拟键盘快捷键来完成。(这个你否定了)
2.那就是创建文件。
这个字符串的来源你肯定知道。
如果是复制到一个TXT文件中,直接用IO流写入就可以了。
如果是想复制到word文件中,需要用可以操作office的类库。(比如POI)
这是一个事实吧!!!
1.复制自己的东西。那这样是无可厚非的,毕竟是自己的嘛,而且复制黏贴另外的一种解释,并非是贬义的意思,而是说你能充分的利用自己先前学过的知识来进行快速开发,这样不是很OK?而且,现在大牛的程序员,它的硬盘里
有各种类型的系统、网站,你只要叫他弄,几下就搞一个给你,这样不是很牛吗?当然
这是好事。
2.是贬义的意思,为什么呢?说现在很多程序员不懂的创新嘛,比如说现在javascript这个东东,很多人都不学它的具体语法,因为很多网上都有现成的呢。你只需要知道怎么用,然后在网上百度就OK了。。。
所以。。你懂的。