我想在Java控制台应用程序中将用户的剪贴板设置为一个字符串。有什么想法吗?
发布于 2010-08-29 02:54:44
使用Toolkit
获取system clipboard。使用String
创建一个StringSelection
并将其添加到Clipboard
。
简化版:
StringSelection selection = new StringSelection(theString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
发布于 2010-08-29 03:44:35
下面是一个简单的SSCCE来实现这一点:
import java.awt.*;
import java.awt.datatransfer.*;
import java.io.*;
class ClipboardTest
{
public static void main(String[] args)
throws UnsupportedFlavorException, IOException
{
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection testData;
// Add some test data
if (args.length > 0)
testData = new StringSelection( args[0] );
else
testData = new StringSelection( "Test Data" );
c.setContents(testData, testData);
// Get clipboard contents, as a String
Transferable t = c.getContents( null );
if ( t.isDataFlavorSupported(DataFlavor.stringFlavor) )
{
Object o = t.getTransferData( DataFlavor.stringFlavor );
String data = (String)t.getTransferData( DataFlavor.stringFlavor );
System.out.println( "Clipboard contents: " + data );
}
System.exit(0);
}
}
发布于 2018-01-10 19:58:02
如果有人还在寻找JavaFX的方法来完成这篇文章,你可以在这里找到:
ClipboardContent content = new ClipboardContent();
content.putString("Some text");
content.putHtml("<b>Bold</b> text");
Clipboard.getSystemClipboard().setContent(content);
有关更多信息,请访问read the documentation。
https://stackoverflow.com/questions/3591945
复制相似问题