1

css/html テーブルを jtextpane に「追加」しようとしています。

私がするとき:次のようなsetText :

        jtextpane.setText(css)

望ましい結果が得られます [完璧!]:

ここに画像の説明を入力

しかし、次のようにjtextpaneにテキストを追加しようとすると:

        int len = jtextpane.getDocument().getLength();
        jtextpane.setCaretPosition(len); 
        jtextpane.replaceSelection(css);

次のように埋め込まれたhtmlコードを取得します。 ここに画像の説明を入力

Q: テーブルの結果 (コードではない) を jtextPane に追加する方法を教えてください。私はreplaceSelectionで何か間違ったことをしていると思いますか?! 前もって感謝します

編集 - 追加情報:

  • すべてのテキスト情報を jtextpane に追加するには、次の静的メソッドを使用しています。
public static void appendToPane(JTextPane jtextpane, String userText, Color color)
{
  StyleContext sc = StyleContext.getDefaultStyleContext();
  AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, color);
  aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Myriad Pro");
  aset = sc.addAttribute(aset, StyleConstants.FontSize, 20);
  int len = jtextpane.getDocument().getLength();
  jtextpane.setCaretPosition(len);
  jtextpane.setCharacterAttributes(aset, false);
  jtextpane.replaceSelection(userText);
}
  • 私が持っているjtextpaneのインスタンス化について:

    jtextpane.setContentType("テキスト/html");

  • 元の css 文字列は次のとおりです。

table.imagetable { font-family: verdana,arial,sans-serif; フォントサイズ:11px; 色:#333333; ボーダー幅: 1px; 境界線の色: #999999; ボーダー崩壊:崩壊; } table.imagetable th { background:#b5cfd2 url('cell-blue.jpg'); ボーダー幅: 1px; パディング: 8px; 境界線のスタイル: 無地; 境界線の色: #999999; } table.imagetable td { background:#dcddc0 url('cell-grey.jpg'); ボーダー幅: 1px; パディング: 8px; 境界線のスタイル: 無地; 境界線の色: #999999; }

4

1 に答える 1