【发布时间】:2017-02-25 09:31:49
【问题描述】:
我正在使用 Java JDK 1.6,但在使用 JTextPane 以等宽字体显示文本时遇到问题。一旦我添加了一个 UTF8 字符,例如 ????,文本窗格中的行高就会减小(对于窗格中已经存在的所有文本以及以后添加的所有文本)。我怎样才能避免这种情况?我想要正常的行高。
这里是一些示例代码:
class AttributedTextPane extends JTextPane
{
private DefaultStyledDocument defaultStyledDocument;
protected AttributedTextPane()
{
this.defaultStyledDocument = new DefaultStyledDocument();
this.setDocument(defaultStyledDocument);
this.setContentType("text/plain");
...
}
}
...
此窗格集成到 JInternalFrame 中。创建面板并设置所需的等宽字体:
Font font = new Font("DejaVu Sans Mono", Font.PLAIN, 11);
AttributedTextPane pane = new AttributedTextPane();
pane.setFont(font);
要显示所需的文本,我调用 pane.setText(...);一旦我添加了 UTF8 字符,行高就会改变,请参阅http://i.imgur.com/Fq7XBJB.png 的屏幕截图。有没有办法避免改变行高? 谢谢,节目主持人
【问题讨论】:
标签: java utf-8 fonts height jtextpane