for jtextcomponent copy()/cut()/paste()利用Clipboard,getToolkit().getSystemClipboard().setContents(new StringSelection("text"), 
new ClipboardOwner() {
  public void lostOwnership(Clipboard clipboard, Transferable contents) {}
});

解决方案 »

  1.   

    能不能对这个代码进行一些说明。另现在的主要问题是程序在运行paste()前,将我所要插入的内容置入剪贴板中。关键在于如何置入这个剪贴板中。我所要加的文本内容为String text。
      

  2.   

    如果你要拷贝的东西来自于某个JTextComponent(JTextField/JTextArea......)可以像用paste()那样使用copy(), cut()如果不是的话,那么就需要使用java.awt.datatransfer中的东西,
    主要有这么几个东西:
    1) Clipboard, 由Toolkit.getSystemClipboard()得到,其功能就是剪贴板,用于copy/paste数据的存取getContents()/setContents(Transferable, ClipboardOwner)2) Transferable,所有形式的剪贴板数据(文字,图像,文件......)都实现了这个接口,String对应的Transferable是StringSelection,用法如上new StringSelection(String)3) ClipboardOwner用于对某个剪贴板数据进行管理,当剪贴板上有新的数据进入,将要把原有数据清空的时候,系统会通知ClipboardOwner, 调用其public void lostOwnership(Clipboard clipboard, Transferable contents)方法,告诉Owner, 你管理的Clipboard中的某个Transferable数据将over了。通常情况,可以什么都不管,也就是如上,保留一个空方法。