Chcę skopiować tekst z JTable
komórki do schowka, umożliwiając wklejenie go do innych programów, takich jak Microsoft Word. Mam tekst z folderu JTable
, ale nie wiem, jak skopiować go do schowka.
139
To działa dla mnie i jest dość proste:
Importuj te:
import java.awt.datatransfer.StringSelection;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
Następnie umieść ten fragment kodu w dowolnym miejscu, w którym chcesz zmienić schowek:
String myString = "This text will be copied into clipboard";
StringSelection stringSelection = new StringSelection(myString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
stringSelection
jako drugiego argumentusetContents(..)
również, czyniąc goClipboardOwner
, jak w powiązanej odpowiedzi, nie ma żadnego znaczenia: patrząc na źródło , jedyna metodaClipboardOwner
, którą implementujelostOwnership(..)
, jest pusta. Zatem drugi argument wydaje się być całkowicie opcjonalnym wywołaniem zwrotnym.(-> (java.awt.Toolkit/getDefaultToolkit) .getSystemClipboard (.setContents (java.awt.datatransfer.StringSelection. "test") nil))
Oto akceptowana odpowiedź napisana w ozdobny sposób:
źródło
Poniższa klasa umożliwia kopiowanie / wklejanie ciągu znaków do / ze schowka.
źródło
OS X
lepszego wsparcia, jeśli nie działa poprawnieVK_CONTROL
naVK_META
razie to MacOS.Znalazłem lepszy sposób na zrobienie tego, abyś mógł uzyskać dane wejściowe z txtbox lub wygenerować coś w tym polu tekstowym i móc kliknąć przycisk, aby to zrobić.!
źródło
Do aplikacji opartych na JavaFx .
ClipboardContent może zapisywać wiele danych w kilku formatach danych, takich jak (html, adres URL, zwykły tekst, obraz).
Więcej informacji można znaleźć w oficjalnej dokumentacji
źródło