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

Font size in Jtextpane looks smaller then in other applications

我有 JTextPane,如果我用例如字体大小 12 那么它看起来比文本小,例如具有相同大小和相同字体系列的 MS Word。

我在网上搜索了一下,发现这不仅仅是我的特定问题。但是我找不到任何解决方案。

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

是否可以更改度量或类似的东西?

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

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

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

警告:我没有尝试使用 StyledDocument。仅与 HTMLDocument 一起使用。

实际上 DPI 差异为 java(每英寸 72 像素)和 windows(每英寸 96 像素)。为了正确反映您的字体,您可以在 Windows.

上将它们乘以 96/72

您可以覆盖

public Font getFont(AttributeSet attr)

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