0
JTextPane
을 사용하여 자바 스윙을 사용하여 텍스트 편집기를 만들었지 만 StyledEditorKit class
에는 배경색을 설정하는 방법이 없습니다.JTextPane에서 배경색을 설정하고 HTML 코드를 가져 오는 방법은 무엇입니까?
SimpleAttributeSet aSet = new SimpleAttributeSet();
StyleConstants.setBackground(aSet, color);
StyledDocument doc = textPane.getStyledDocument();
doc.setCharacterAttributes(textPane.getSelectionStart(),textPane.getSelectionEnd()-textPane.getSelectionStart(), aSet, false);
그것은, JTextPane
에 을 배경 색상을 표시 할 수 있지만하지 않음으로써 textPane.GetText()
는 HTML 코드를 가져옵니다 :
그럼 난 배경 색상을 설정하려면이 아이디어를 사용합니다.
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 코드를 가져 오는 방법이 있습니까?
이 코드는 내 첫 번째 코드와 동일합니다 니펫을. – oliver
USe textPane.getDocument(). getText() 종류의 메서드입니다. –
textPane.getDocument(). getText()는 텍스트 만 가져올 수 있지만 HTML 코드를 가져오고 textPane.getText()를 사용할 수 있습니다. – oliver