Javaスイングを使用してテキストエディタを作成していますが、背景色を設定する方法がありませんJTextPane
。StyledEditorKit class
次に、このアイデアを使用して背景色を設定します。
SimpleAttributeSet aSet = new SimpleAttributeSet();
StyleConstants.setBackground(aSet, color);
StyledDocument doc = textPane.getStyledDocument();
doc.setCharacterAttributes(textPane.getSelectionStart(),textPane.getSelectionEnd()-textPane.getSelectionStart(), aSet, false);
で背景色を表示することはできますが
、HTML コードJTextPane
を取得することではできません。textPane.GetText()
それから私もアイデアを見つけました:
class bgAction extends StyledEditorKit.StyledTextAction {
public bgAction(String arg0) {
super(arg0);
// TODO Auto-generated constructor stub
}
@Override
public void actionPerformed(ActionEvent arg0) {
JEditorPane editor = getEditor(arg0);
try {
String selectedText = editor.getSelectedText();
HTMLDocument document = (HTMLDocument) this.getStyledDocument(editor);
System.out.println(document == TextView.this.document);
document.remove(editor.getSelectionStart(),selectedText.length());
HTMLEditorKit et = (HTMLEditorKit) this.getStyledEditorKit(editor);
et.insertHTML(document, editor.getSelectionStart(), ""+ selectedText + "", 0, 0, HTML.Tag.SPAN);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
しかし、insertHTML()
方法は機能しません。これは私が間違ったところですか?
背景色を設定しJTextPane
て HTML コードを取得する方法はありますか?