如果我有一个内容类型设置为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
......我在这里错过了某种设置吗?
答案 0 :(得分:3)
但是我无法通过键盘输入
输入时,您可以使用几种不同的选项来翻译“空格”:
DocumentFilter
来过滤输入到文档中的字符。 。每当您输入“空格”时,只需将
插入文档即可。阅读Implementing a DocumentFilter上Swing教程中的部分以获取更多信息和示例。 KeyBindings
创建自定义操作,以便在使用Space键时插入
。有关详细信息,请阅读How to Use Key Bindings上Swing教程中的部分。您应该扩展TextAction
以实施Action
。