JTextPane .getText()不保留HTML的空格?

时间:2014-10-27 17:00:48

标签: java html swing whitespace jtextpane

如果我有一个内容类型设置为text / html的可编辑JTextPane,我看不到保留的空格。 I.E。:如果我执行以下操作:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.html.*;
public class HtmlPasteTest extends JFrame implements ActionListener {
    JTextPane PANE;
    public static void main(String[] args) {
        new HtmlPasteTest();
    }
    public HtmlPasteTest() {        
        HTMLEditorKit KIT = new HTMLEditorKit();
        HTMLDocument DOC = (HTMLDocument)(KIT.createDefaultDocument());
        PANE = new JTextPane();
        PANE.setContentType("text/html");
        PANE.setEditorKit(KIT);
        PANE.setDocument(DOC);
        JButton dump = new JButton("DUMP");
        dump.addActionListener(this);
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(dump, BorderLayout.NORTH);
        getContentPane().add(PANE, BorderLayout.CENTER);
        setSize(600, 600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e) {
                System.out.println(PANE.getText());     
    }
}

...然后键入“a b”&单击DUMP按钮,我希望看到如下内容:

      a     b

...但是我看到了以下内容:

      a     b

......我在这里错过了某种设置吗?

1 个答案:

答案 0 :(得分:3)

  

但是我无法通过键盘输入 

输入时,您可以使用几种不同的选项来翻译“空格”:

  1. 我们可以DocumentFilter来过滤输入到文档中的字符。 。每当您输入“空格”时,只需将 插入文档即可。阅读Implementing a DocumentFilter上Swing教程中的部分以获取更多信息和示例。
  2. 您可以使用KeyBindings创建自定义操作,以便在使用Space键时插入 。有关详细信息,请阅读How to Use Key Bindings上Swing教程中的部分。您应该扩展TextAction以实施Action