see java.awt.datatransfer.*;
String不是Transferable 用 new StringSelection(String);clipboardowner的作用是在你改变当前内容是,通知当前的剪贴板数据的拥有者,也就是上一次setContent(至少是上一次java程序,其他win程序我不清楚)的ClipboardOwener,它放在剪贴板中的数据将被替换,让它作出处理,
它是一个接口只有一个方法,
public void lostOwnership(Clipboard clipboard, Transferable contents);
如果你认为你的剪贴板数据被其他程序替换也无所谓,就写一个空的lostOwnership
比如setContents(Transferable contents, new ClipboardOwner(){
public void lostOwnership(Clipboard clipboard, Transferable contents){}
});
如果要进行操作,那么
public void lostOwnership(Clipboard clipboard, Transferable contents);
中的clipboard参数就是你上次setContents的地方,contents就是其数据如果是在JTextComponent(JTextField),可以直接jtextfield.copy();//cut();paste();
String不是Transferable 用 new StringSelection(String);clipboardowner的作用是在你改变当前内容是,通知当前的剪贴板数据的拥有者,也就是上一次setContent(至少是上一次java程序,其他win程序我不清楚)的ClipboardOwener,它放在剪贴板中的数据将被替换,让它作出处理,
它是一个接口只有一个方法,
public void lostOwnership(Clipboard clipboard, Transferable contents);
如果你认为你的剪贴板数据被其他程序替换也无所谓,就写一个空的lostOwnership
比如setContents(Transferable contents, new ClipboardOwner(){
public void lostOwnership(Clipboard clipboard, Transferable contents){}
});
如果要进行操作,那么
public void lostOwnership(Clipboard clipboard, Transferable contents);
中的clipboard参数就是你上次setContents的地方,contents就是其数据如果是在JTextComponent(JTextField),可以直接jtextfield.copy();//cut();paste();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货