我有JTextPane,如果我用它写一些东西,例如字体大小12然后它看起来小于例如文本中的文本MS Word具有相同的大小和相同的字体系列。
我在互联网上搜索过,我发现这不仅仅是我的具体问题。但我无法找到任何解决方案。
设置较大的字体大小对我来说不是解决方案。
是否有可能改变措施或类似的东西?
答案 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的方法,从属性集中检索字体大小,并按比例增加它。