Jtextpane中的字体大小比其他应用程序中的小

时间:2015-02-22 14:38:37

标签: java fonts size jtextpane jtextcomponent

我有JTextPane,如果我用它写一些东西,例如字体大小12然后它看起来小于例如文本中的文本MS Word具有相同的大小和相同的字体系列。

我在互联网上搜索过,我发现这不仅仅是我的具体问题。但我无法找到任何解决方案。

设置较大的字体大小对我来说不是解决方案。

enter image description here

是否有可能改变措施或类似的东西?

2 个答案:

答案 0 :(得分:0)

实际上,有一个技巧。通过JTextPane的Document,您可以使用setCharacterAttributes指定每个字符的字体大小。现在假设你有一些字体大小为12的文本,然后是你的JTextPane中有一个font-size 14的文本。如果使用

编辑JTextPane的全局字体大小会发生什么
myTextPane.setFont(myTextPane.getFont().deriveFont(newFontSize));

答案是您的文字仍然会被视为12和14大小,但会显示得更大!

警告:我没有尝试使用StyledDocument。仅限HTMLDocument。

答案 1 :(得分:0)

实际上,Java(每英寸72像素)和窗口(每英寸96像素)存在DPI差异。要正确反映您的字体,您可以在Windows上的96/72上将它们相乘。

您可以覆盖

public Font getFont(AttributeSet attr)

DefaultStyledDocument的方法,从属性集中检索字体大小,并按比例增加它。