我有一个包含 jTextPane
和 jButton
的表单,我设置了 jTextPane
Accessible Description
到 text/html
,现在我想在单击 jButton
时将 jTextPane
的内容复制到我的剪贴板,我试过这个代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
StringSelection stringSelection = new StringSelection (jTextPane1.getText());
Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
clpbrd.setContents (stringSelection, null);
}
但是当我过去时,它会以 HTML 格式传递文本。
我该如何解决这个问题?
最佳答案
首先,Java 中有 2 个剪贴板(一个本地的和一个系统的,您正在使用)。 Here是一个使用系统剪贴板的示例。看看并试试这个 getClipboardContents 方法:
public String getClipboardContents(Clipboard clipboard) {
String result = "";
if (clipbloard != null){
//odd: the Object param of getContents is not currently used
Transferable contents = clipboard.getContents(null);
boolean hasTransferableText =
(contents != null) &&
contents.isDataFlavorSupported(DataFlavor.stringFlavor);
if ( hasTransferableText ) {
try {
result = (String)contents.getTransferData(DataFlavor.stringFlavor);
}
catch (UnsupportedFlavorException ex){
//highly unlikely since we are using a standard DataFlavor
System.out.println(ex);
ex.printStackTrace();
}
catch (IOException ex) {
System.out.println(ex);
ex.printStackTrace();
}
}
}
return result;
}
关于java - 将 jTextPane 文本复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16179595/