我试图在Eclipse插件中将一些字符串写入剪贴板,我有一些奇怪的行为......
我使用的是预定义的TextTransfer Transfer-class,它应该足够用于字符串?! 我的问题是,无论我放在剪贴板中的字符串数量,只有最后一个实际上可以访问 - 我无法弄清楚原因。
将我的东西放在剪贴板中似乎有效,没有例外。我是这样做的:
Clipboard cb = new Clipboard(Display.getCurrent());
Object[] data = transferObjects.toArray(); //My strings, looks good in debug
Transfer[] transfer = transferHandles.toArray(new Transfer[0]); //as many TextTransfer instances as objects in the data-array
cb.setContents(data, transfer, DND.CLIPBOARD);
cb.dispose();
我这样收到:
TextTransfer textTransfer = TextTransfer.getInstance();
Object o = cb.getContents(textTransfer); // "o" contains the value of the above array at position n-1, so only the very last is actually returned
我不明白我做错了什么?有人看到我的错误吗?
答案 0 :(得分:0)
可能是因为(来自Java-doc):
可以同时在系统剪贴板上放置多种类型的数据。无论何种类型,设置数据都会清除系统剪贴板中的所有先前数据。