我有一个JTextPane,但我注意到如果我使用.setText()
所有标签都会被删除。
要解决这个问题,我会看到两个选项:
 
替换所有标签,然后更改JTextPane中的标签大小以匹配html标签的宽度。我不知道如何做#1所以我试图使用粗暴的#2。
所以我的问题是,如何使用HTMLDocument更改JTextPane的选项卡大小,或者我如何setText()
并且没有删除选项卡?
此外,我使用getText()
和setText()
将文本保存在JTextPane中。
提前谢谢。
答案 0 :(得分:0)
为了在没有方法1或2的情况下解决我的问题,我已经这样做了:
textPane.getInputMap().put(KeyStroke.getKeyStroke("TAB"), "tab");
textPane.getActionMap().put("tab", new AbstractAction("tab"){
private static final long serialVersionUID = -2621537943352838927L;
public void actionPerformed(ActionEvent e){
try {
textPane.getDocument().insertString(textPane.getCaretPosition(), " ", null);//The " " is the html special character (tab) in plain text.
} catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
我发现这会覆盖默认的标签输入。