java中利用windows剪贴板复制与粘贴

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:52:18
为什么第一次点击复制,选取文本,再点击粘贴没反应,第二次重复一遍就好了
以下是有关代码
public void actionPerformed(ActionEvent e)
{
Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard();

if(e.getActionCommand()=="复制")
{
String temp=text_receiver.getSelectedText(); //拖动鼠标选取文本。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
}
if(e.getActionCommand()=="粘贴")
{
Transferable contents=clipboard.getContents(this);
DataFlavor flavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
try{
String str;
str=(String)contents.getTransferData(flavor);
text_sender.setText(str); }
catch(Exception ee){}

javax.swing.text.JTextComponent这个类里面有cut(),copy()方法,JTextField,JPassword,JTextArea都继承它,直接用里面的方法就是了,干啥这么麻烦,粘贴也是里面的paste()方法,都封装好了的,直接往剪切板里放和取

JPanelText?jdk1.6里面没有这个类,有可能你是用的第三方jar包吧!!!!!
去看看他是不是继承JTextComponent,或者继承他的子类,JTextComponent应该是文本输入的最高级了,在jdk里面的swing组建中的文本编辑都是继承他的