में क्लिपबोर्ड पर कॉपी करना मैं जावा कंसोल एप्लिकेशन में एक स्ट्रिंग पर उपयोगकर्ता का क्लिपबोर्ड सेट करना चाहता हूं। कोई विचार?जावा
जावा
उत्तर
system clipboard प्राप्त करने के लिए Toolkit
का उपयोग करें। स्ट्रिंग के साथ StringSelection बनाएं और इसे क्लिपबोर्ड पर जोड़ें।
सरलीकृत:
StringSelection selection = new StringSelection(theString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
यहाँ एक सरल 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);
}
}
आप लिनक्स पर और OpenJDK का उपयोग कर रहे हैं, यह काम नहीं करेगा। काम करने के लिए आपको लिनक्स पर सूर्य जेडीके का उपयोग करना होगा।
क्यों काम नहीं किया? क्या आपके पास इसके बारे में अधिक जानकारी है? एक बग रिपोर्ट? आप कुछ प्रतिष्ठा प्राप्त कर सकते हैं;) http://stackoverflow.com/q/14242719/194609 – Karussell
क्या काम नहीं करेगा? क्या यह अन्य उत्तरों में से एक का जवाब है? –
यह काम एक चैंप की तरह;
String get= text.getText();
StringSelection selec= new StringSelection(get);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selec, selec);
यह बिल्कुल वैसा ही है जैसा कि कार्लोस ने 5 साल पहले – fishinear
लिनक्स में xclip साथ:
Runtime run = Runtime.getRuntime();
Process p = null;
String str = "hello";
try {
p = run.exec(new String[]{"sh", "-c", "echo " + str + " | xclip -selection clipboard"});
}
catch (Exception e) {
System.out.println(e);
}
लिखा था यदि स्ट्रिंग में अंतराल के वर्ण हैं? क्या यह तब काम करेगा? –
किसी को अब भी इस पोस्ट JavaFX रास्ता के लिए खोज पर ठोकर के लिए यह पूरा करने के, ये रहा:
ClipboardContent content = new ClipboardContent();
content.putString("Some text");
content.putHtml("<b>Bold</b> text");
Clipboard.getSystemClipboard().setContent(content);
अधिक जानकारी के लिए read the documentation।
मैंने एडब्ल्यूटी का उपयोग करने का कोई फायदा नहीं लिया। – clone1018
फिर दिखाएं कि आपने क्या प्रयास किया है और हमें बताएं कि वास्तव में – unbeli