JTextPane最后一行,字体较小

时间:2015-03-15 19:45:30

标签: java size line font-size jtextpane

我遇到了JTextPane的问题。如果我在最后一行写了一些东西到JTextPane,最后一行的大小比其他前一行的大。按ENTER后行向上移动一点。我想通了,这种行为只是在字体大小小于12的情况下。最后一行不能小于某个大小。你知道吗,如何消除这种奇怪的行为?

enter image description here

有我的SSCCE:

JFrame frame = new JFrame();
frame.setSize(350, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTextPane pane = new JTextPane();

MutableAttributeSet attrs = new SimpleAttributeSet();
StyleConstants.setFontSize(attrs, 11);
pane.setCharacterAttributes(attrs, false);

frame.add(pane);
frame.setVisible(true);

1 个答案:

答案 0 :(得分:2)

那是因为最后一段的属性。它具有默认属性,默认字体大小为12.要修复尝试将字符属性应用于最后一个\ n char。

StyledDocument doc=(StyledDocument)pane.getDocument();
doc.setCharacterAttributes(0, doc.getLength()+1, attrs, false);

是。长度+ 1包括文档末尾之后的最后一个字符。