Quiero establecer portapapeles del usuario a una cadena en una aplicación de consola de Java. ¿Algunas ideas?copia en el portapapeles en Java
Respuesta
Uso del Toolkit
para obtener el system clipboard. Crea un StringSelection con la cadena y agrégalo al portapapeles.
simplificado:
StringSelection selection = new StringSelection(theString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
Aquí es un simple SSCCE de lograr esto:
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);
}
}
Si está en Linux y el uso de OpenJDK, no va a funcionar. Debe usar Sun JDK en Linux para que funcione.
¿Por qué? ¿tienes más información al respecto? ¿Un informe de error? Puede obtener cierta reputación;) http://stackoverflow.com/q/14242719/194609 – Karussell
¿Qué no funcionará? ¿Es esta una respuesta a una de las otras respuestas? –
Este trabajo como un campeón;
String get= text.getText();
StringSelection selec= new StringSelection(get);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selec, selec);
Esto es exactamente lo mismo que Carlos escribió 5 años antes – fishinear
En Linux con 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);
}
¿Qué pasa si la cadena contiene caracteres de fin de línea? ¿Funcionará entonces? –
Para alguien todavía tropezar con este post en busca de la forma JavaFX Para lograr esto, aquí van:
ClipboardContent content = new ClipboardContent();
content.putString("Some text");
content.putHtml("<b>Bold</b> text");
Clipboard.getSystemClipboard().setContent(content);
Para más información, read the documentation.
- 1. DataGridView: copia completa en el portapapeles
- 2. Copia de texto al portapapeles utilizando Java
- 3. ¿Copia la imagen al portapapeles desde el navegador en Javascript?
- 4. JavaFX TableView copia al portapapeles
- 5. Ubuntu> copia del Portapapeles, SSHK
- 6. haciendo doble clic en TStaticText en la aplicación Delphi XE2 copia el título en el portapapeles
- 7. Portapapeles Java ¿Propósito del propietario?
- 8. Cómo cortar un archivo en el portapapeles en Java?
- 9. Copiar BufferedImage en el portapapeles
- 10. HTML5: ¿leer el portapapeles?
- 11. copia de estudio visual al portapapeles IDE se congela
- 12. Copiar archivo en eclipse copia el nombre de archivo (Cadena) en lugar de un archivo en el portapapeles
- 13. Elisp: copiar el búfer en el portapapeles
- 14. Copia NSAttributedString en UIPasteBoard
- 15. Supervisión del portapapeles en Mac OS X | Java
- 16. copia superficial de un mapa en Java
- 17. ¿Cómo colocar múltiples formatos en el portapapeles?
- 18. Obtener html desde el portapapeles en javascript
- 19. ¿Cómo funciona el portapapeles en Windows?
- 20. Greasemonkey \ JavaScript Copiar en el botón del Portapapeles
- 21. ¿Cómo respaldo y restauro el portapapeles del sistema en C#?
- 22. ¿Cómo coloco algún texto formateado en el Portapapeles?
- 23. Incluya información de formato en el búfer de copia del portapapeles de Windows para pegar en Excel
- 24. Pegar desde el portapapeles
- 25. Determine qué proceso está bloqueando el portapapeles
- 26. ¿Cómo puedo configurar el texto para copiar al portapapeles cuando se copia la imagen?
- 27. ¿Cómo escribir en el portapapeles en Ubuntu/Linux en R?
- 28. IOS - detectan cuando se copia el usuario al portapapeles - [UIPasteboard generalPasteboard]
- 29. ¿Cómo puedo escuchar los eventos del portapapeles en node.js?
- 30. historial del portapapeles en Eclipse
He intentado utilizar AWT en vano. – clone1018
A continuación, mostrar lo que ha intentado y nos dicen lo que exactamente no funcionó – unbeli