我的Swing應用程序包含一個JEditorPane,它可以讓所見即所得的時尚用戶編輯文本,包括粗體,斜體工具欄按鈕,並設置字體等的Java Swing存儲和渲染文本
的內容類型JEditorPane是text/html
問題:用戶希望能夠在編輯器窗格中鍵入製表符,關閉編輯對話框(將HTML文本保存到永久存儲器)並查看其呈現的製表符。但是,HTML將所有空白運行視爲單個空間。
public class NoteTest {
public static void main(String[] args) {
final JEditorPane editPane1 = new JEditorPane("text/html", "Try typing some tabs");
editPane1.setPreferredSize(new Dimension(400, 300));
JOptionPane.showMessageDialog(null, new JScrollPane(editPane1));
JOptionPane.showMessageDialog(null, new JScrollPane(new JEditorPane("text/html", editPane1.getText()))); // where did the tabs go?
}
}
在第一JEditorPane中輸入標籤後,我們從它那裏得到的HTML文本,並把它傳遞給第二JEditorPane中,這使得標籤的空間。
如何渲染這些標籤?我應該將用戶輸入的內容保存爲RTF而不是HTML嗎?我應該解析HTML並構建一個包含行和單元格的HTML表格(唉)。或者有什麼方法可以讓擺動將製表符呈現爲製表符?
雖然HTML沒有_tab_東西,即使您在html中使用多個空格,它也會呈現爲單個空格 – Asif