[英]How to insert a html special character in a JTextPane
我已經閱讀了JTextPane上的許多線程,這使我開始使用JTextPane編寫一個小的文本編輯器,但是在項目的中間幾乎要折疊起來! 請有人可以向我解釋一下如何在HTML字符中插入HTML字符嗎?
JTextPane pane = new JtextPane();
pane.settext("¢");
我的問題是,如果我已經鍵入了一些文本,然后使用settext
在同一行文本上插入一個特殊字符,則在前一個文本消失的同時插入了特殊字符。 我該如何阻止這種情況發生?
要調用setText
時,您沒有說過。 如果要響應單擊按鈕來執行此操作,則只需要:
grabFocus
將焦點和輸入符號插入文本窗格。 代碼如下所示:
JButton btnAdd = new JButton("add");
jPanel1.add(btnAdd);
btnAdd.addActionListener(new ActionListener(){
@Override public void actionPerformed(ActionEvent arg0) {
String text = pane.getText();
pane.setText(text + "¢");
pane.grabFocus();
}
});
如果您使用的是HTMLDocument(尚未發布完整的代碼,因此尚不清楚要產生HTML的內容),則可以執行以下操作:
pane = new JTextPane();
jPanel1.add(pane);
final HTMLEditorKit kit = new HTMLEditorKit();
final HTMLDocument doc = new HTMLDocument();
pane.setEditorKit(kit);
pane.setDocument(doc);
...
btnAdd.addActionListener(new ActionListener(){
@Override public void actionPerformed(ActionEvent arg0) {
int start = pane.getSelectionStart();
try {
// add a span containing the desired element inside the current paragraph or other containing element
kit.insertHTML(doc, start, "<span>¢</span>", 0, 0, HTML.Tag.SPAN);
} catch ...
pane.grabFocus();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.