java实现复制剪切代码 java 复制

java怎样实现复制,粘贴,剪切的功能啊?java.awt.datatransfer.Clipboard clipboard=java.awt.Toolkit.getDefaultToolkit().getSystemClipboard(); //获得系统剪切板
//下面是我的记事本部分功能.e.getSource()是当触发了某个事件.这里是copy的代码,下面依此是粘贴,等代码.可以看你需要的部分.(关于clopboard的).都是汉语拼音命名的变良.
else if(e.getSource()==fuZhi||e.getSource()==fuZhi2)//////////Copy 'fuZhi' is 'Copy'
{
String temp=text.getSelectedText();
stringSelection=new StringSelection(temp);
clipboard.setContents(stringSelection,null);
}
else if(e.getSource()==jianQie||e.getSource()==jianQie2)//////////'jianQie' is 'Cut'
{
String temp=text.getSelectedText();
stringSelection=new StringSelection(temp);
clipboard.setContents(stringSelection,null);
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
}
//这里是粘贴.主要是如何从系统剪切板里取得数据.
else if(e.getSource()==zhanTie||e.getSource()==zhanTie2)///////////////'zhanTie' is 'Paste'.
{
java.awt.datatransfer.Transferable transferable=clipboard.getContents(this);
java.awt.datatransfer.DataFlavor flavor=java.awt.datatransfer.DataFlavor.stringFlavor;
if(transferable.isDataFlavorSupported(flavor))
{
try
{
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
String str;
int n=text.getCaretPosition();
str=(String)transferable.getTransferData(flavor);
text.insert(str,n);
}
catch(Exception ee)
{
}
}
}
在java中如何实现复制,粘贴 , 剪切要用到java.awt.datatransfer包中的Clipboard类
importjava.awt.*;importjava.awt.event.*;
importjava.awt.datatransfer.*;
publicclassTestextendsFrameimplementsActionListener
{MenuBarmenubar;Menumenu;
MenuItemcopy,cut,paste;
TextAreatext1,text2;
Clipboardclipboard=null;
Test()
{clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板 。
menubar=newMenuBar();
menu=newMenu("Edit");copy=newMenuItem("copy");
cut=newMenuItem("cut");paste=newMenuItem("paste");
text1=newTextArea(20,20);text2=newTextArea(20,20);
copy.addActionListener(this);cut.addActionListener(this);
paste.addActionListener(this);
setLayout(newFlowLayout());
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(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{System.exit(0);
}
});
}
publicvoidactionPerformed(ActionEvente)
{if(e.getSource()==copy)//拷贝到剪贴板 。
{Stringtemp=text1.getSelectedText();//拖动鼠标选取文本 。
StringSelectiontext=newStringSelection(temp);
clipboard.setContents(text,null);
}
elseif(e.getSource()==cut)//剪贴到剪贴板 。
{Stringtemp=text1.getSelectedText();//拖动鼠标选取文本 。
StringSelectiontext=newStringSelection(temp);
clipboard.setContents(text,null);
intstart=text1.getSelectionStart();
intend=text1.getSelectionEnd();
text1.replaceRange("",start,end);//从Text1中删除被选取的文本 。
}
elseif(e.getSource()==paste)//从剪贴板粘贴数据 。
{Transferablecontents=clipboard.getContents(this);
DataFlavorflavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
try{Stringstr;
str=(String)contents.getTransferData(flavor);
text2.append(str);
}
catch(Exceptionee){}
}
}
publicstaticvoidmain(Stringargs[])
{Testwin=newTest();
}

推荐阅读