【发布时间】:2014-05-18 00:51:59
【问题描述】:
我未能从JTextPane 中完全删除行间距和字符间距。这甚至可能吗?
Google 向我展示了以下 code-sn-p,但它似乎对我的
JTextPane,据我了解,它只会消除垂直间隙(线之间的空间)。
SimpleAttributeSet sas = new SimpleAttributeSet();
StyleConstants.setLineSpacing(sas , 0.0f);
textPane.setParagraphAttributes(sas , false);
我目前已将JTextPane 的字体设置为“Consolas”,字体大小为 9。我正在尝试正确显示某些 ASCII 艺术(就像DAMN NFO VIEWER 一样)。
这就是它在我的 GUI 的 JTextPane 中的样子以及我希望它的样子:
这就是 DAMN NFO VIEWER 显示相同 ASCII 艺术的方式(正确方式)。
我尝试使用与 DAMN NFO VIEWER 相同的字体和大小,但这并没有消除差距,所以我认为我必须进行一些其他更改。任何建议表示赞赏。
编辑
这是我尝试应用SimpleAttributeSet() 的方法,也许我做得不对:
nfoFileTextPane = new javax.swing.JTextPane();
StyledDocument doc = nfoFileTextPane.getStyledDocument();
Element e = doc.getParagraphElement(0);
MutableAttributeSet mas = new SimpleAttributeSet();
StyleConstants.setLineSpacing(mas, -0.2f);
StyleConstants.setSpaceAbove(mas, -0.2f);
StyleConstants.setSpaceBelow(mas, -0.2f);
//0-1000 test
doc.setParagraphAttributes(0, 1000, mas, true);
【问题讨论】:
-
你试过
StyleConstants.setSpaceAbove和setSpaceBelow吗? -
是的,我也试过了。仍然没有任何变化,也许我没有正确应用
SimpleAttributeSet()。 -
为了完整起见,
StyleConstants.setSpaceAbove(AttributeSet, f)和StyleConstants.setSpaceBelow(AttributeSet, f)似乎设置了文本与JTextPane的顶部/底部边框的距离,类似于 CSS 填充。
标签: java jtextpane spacing ascii-art