4

jTextPaneaと aを含むフォームがありjButton、 を に設定しましjTextPane Accessible Descriptionた。 をクリックしての内容をクリップボードにコピーtext/htmlしたいので、次のコードを試しました。jButtonjTextPane

 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        StringSelection stringSelection = new StringSelection (jTextPane1.getText());
        Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
        clpbrd.setContents (stringSelection, null);
    } 

しかし、私が過去に行ったとき、テキストを HTML 形式として過去にしました。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

まず、Java には 2 つのクリップボードがあります (ローカルのものと、使用しているシステムのもの)。システム クリップボードを使用する例を次に示します見て、この 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;
}
于 2013-04-23T21:52:20.183 に答える