在我们的项目中,我正在开发一个简单的功能,它可以将数据复制到剪贴板,然后在其他任何地方使用。这很简单。一个模态窗口弹出并在 SWT.List 中显示该函数导出的所有文件的列表。此窗口还有两个按钮:“确定”和“复制到剪贴板”。OK 按钮通过 shell.dispose() 关闭窗口(我什至尝试过 Shell.close())。剪贴板功能如下所示:
Clipboard clipboard = new Clipboard(Display.getDefault());
TextTransfer transfer = TextTransfer.getInstance();
String lines = "";
for (String line : list.getItems())
{
lines += line;
lines +="\n";
}
clipboard.setContents(new Object[] { lines }, new TextTransfer[] { transfer });
文件导出完成后,按钮被激活。复制到剪贴板并使用数据是有效的,但前提是我单击此按钮并首先将此数据粘贴到任何地方。如果我现在单击“确定”并关闭窗口,则数据仍在剪贴板中。但是,如果我单击“复制”按钮,然后直接“确定”而不将这些数据粘贴到任何地方,它就会从剪贴板中丢失。
有没有办法将数据保存在剪贴板中?