簡體   English   中英

如何在JTextPane中插入html特殊字符

[英]How to insert a html special character in a JTextPane

我已經閱讀了JTextPane上的許多線程,這使我開始使用JTextPane編寫一個小的文本編輯器,但是在項目的中間幾乎要折疊起來! 請有人可以向我解釋一下如何在HTML字符中插入HTML字符嗎?

JTextPane pane = new JtextPane(); 
pane.settext("¢"); 

我的問題是,如果我已經鍵入了一些文本,然后使用settext在同一行文本上插入一個特殊字符,則在前一個文本消失的同時插入了特殊字符。 我該如何阻止這種情況發生?

要調用setText時,您沒有說過。 如果要響應單擊按鈕來執行此操作,則只需要:

  1. 從(捕獲的變量)窗格中讀取文本
  2. 附加您想要的角色
  3. (可選)使用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>&cent;</span>", 0, 0, HTML.Tag.SPAN);
        } catch ...
        pane.grabFocus();
    }               
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM