JTable
のセルからクリップボードにテキストをコピーして、Microsoft Wordなどの他のプログラムに貼り付けることができます。 JTable
のテキストがありますが、クリップボードにコピーする方法がわかりません。Javaを使用してテキストをクリップボードにコピー
答えて
これは私のために動作し、非常に簡単です:
はこれらをインポートします。その後、
import java.awt.datatransfer.*;
import java.awt.Toolkit;
そして、あなたがクリップボードを変更したいのですがどこのコードスニペットを置く:
String myString = "This text will be copied into clipboard when running this code!";
StringSelection stringSelection = new StringSelection(myString);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
私はちょうどそれを試して、それは動作します。しかし、いくつかの「良い練習」の欠陥があるかどうかは分かりませんが、それはあなたの問題を解決します!
LHは
次のクラスを使用すると、クリップボードへ/から文字列をコピー/ペーストすることができます。
import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.KeyEvent;
import java.io.IOException;
public class SystemClipboard
{
public static void copy(String text)
{
Clipboard clipboard = getSystemClipboard();
clipboard.setContents(new StringSelection(text), null);
}
public static void paste() throws AWTException
{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
}
public static String get() throws Exception
{
Clipboard systemClipboard = getSystemClipboard();
DataFlavor dataFlavor = DataFlavor.stringFlavor;
if (systemClipboard.isDataFlavorAvailable(dataFlavor))
{
Object text = systemClipboard.getData(dataFlavor);
return (String) text;
}
return null;
}
private static Clipboard getSystemClipboard()
{
Toolkit defaultToolkit = Toolkit.getDefaultToolkit();
Clipboard systemClipboard = defaultToolkit.getSystemClipboard();
return systemClipboard;
}
}
特別なので、OS Xに貼り付けるためのロジックが必要になることがあります。 –
これは装飾的な方法で書か受け入れ答えです:
Toolkit.getDefaultToolkit()
.getSystemClipboard()
.setContents(
new StringSelection(txtMySQLScript.getText()),
null
);
あなたはtxtboxからの入力を取得したり、何かがそのテキストで生成することができますので、私はそれを行うためのより良い方法を発見しましたボタンをクリックしてそれを行うことができるようにします。クリップボードにコピーするコードは次のとおりです(2017/2018)!
import java.awt.datatransfer.*;
import java.awt.Toolkit;
private void /* Action performed when the copy to clipboard button is clicked */ {
String ctc = txtCommand.getText().toString();
StringSelection stringSelection = new StringSelection(ctc);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
}
// txtCommand is the variable of a text box
これが役立つことを願っています! – ElementCodez
「2017/2018」とはどういう意味ですか?特定のバージョンのJava?どのバージョン*を使用しましたか? –
- 1. AppleScriptを使用してテキストをクリップボードにコピーするには
- 2. W3CクリップボードAPIを使用して、extjs htmleditorコンポーネントのテキストをクリップボードにコピー
- 3. jqueryを使用してテキストをクリップボードにコピーする方法は?
- 4. RTFテキストをクリップボードにコピーしてExcelで使用する方法
- 5. elm:クリップボードにテキストをコピー
- 6. Javaはクリップボードにコピー
- 7. テキスト+クリップボードへのコピー
- 8. jQueryを使用してテキストエリアのテキストをクリップボードにコピーし続ける
- 9. 特定の文字セットを使用してテキストをクリップボードにコピーする方法
- 10. (方法)NSMenuItemを使用して<editor>からクリップボードにテキストをコピーする
- 11. Gnomeシェル拡張、クリップボードにテキストをコピー
- 12. CardViewからクリップボードにテキストをコピー
- 13. 要素テキストをクリップボードにコピーするaspx
- 14. Java:Apache Wicket Webアプリケーションのクリップボードにテキストをコピー
- 15. asp:textboxからクリップボードにテキストをコピー
- 16. ボタンを使用せずに 'clipboard.js'を使用してクリップボードにテキストをコピーします。
- 17. Javaを使用してテキストを別のファイルにコピーします。
- 18. フラッシュを使わずにテキストをクリップボードにコピーする方法は?
- 19. Javascriptを使用してSharePointリスト列をクリップボードにコピー
- 20. ZeroClipboardを使用してURLをクリップボードにコピー
- 21. VBAを使用してPDFファイルをクリップボードにコピー
- 22. jQueryを使用してページの一部をクリップボードにコピー
- 23. JavaScript/jqueryを使用してクリップボードに画像をコピーする
- 24. JavaScriptコードを使用してHTML要素をクリップボードにコピー
- 25. 複数のレコードでクリップボードにテキストをコピーしていない
- 26. datatables.netフレームワークを使用してCSVを生成し、クリップボードをコピー
- 27. Windows 7を使用してIPythonからクリップボードにコピー
- 28. テキストがクリップボードにコピーされない
- 29. JavaScriptを使用して、選択したテキストをコピーしてクリップボードに貼り付けます。
- 30. vbaを使用してWindowsからクリップボードをコピーする
私たちもhttp://stackoverflow.com/questions/3591945/copying-to-clipboard-in-java –
@AquariusPowerへの第二引数として 'stringSelection'を渡すことを所有者とsetContentsを()と思われることができます'setContents(..)'も、リンクされた答えのように 'ClipboardOwner'にすることは意味がありません:[source](http://grepcode.com/file/repository.grepcode.com/java /root/jdk/openjdk/8u40-b25/java/awt/datatransfer/StringSelection.java#StringSelection.lostOwnership%28java.awt.datatransfer.Clipboard%2Cjava.awt.datatransfer.Transferable%29)、「ClipboardOwner」の唯一のメソッド'つまり、' lostOwnership(..) 'は空です。したがって、第2引数は完全にオプションのコールバックのようです。 –
@EvgeniSergeev StringSelectionを拡張すると便利です:) –