Java如何计算字体行距? (在Times New Roman中计算2行之间的间距)

因此,我正在创建一个极其可变的接口,即使字体几乎也必须是可变的(请相信我,我需要它,因此它可以在每种分辨率下使用)
但是很明显,如果有文本,则有多行,各行之间有空格.

经过一番尝试后,我发现字体之间的间隔不是静态的(例如2个像素),因此它必须是完整字体的百分比(例如,百分比为25%,字体大小为40像素) ,则间距为10像素)或某种公式.

经过一些搜索工作后,我找不到有关字体间距的任何信息,因此我认为它是Java特定的.
我对此表示怀疑.由于Java没有可以更改此间距的方法(据我所知).

所以我的问题是,有什么办法可以更改或了解两行Times New Roman文本之间的间距吗?

最大的问题是我需要知道这一点来创建字体…
如果需要公式:
fontSize =(myTextArea.getHeight()-([fontAscend] [fontDescent])* 21)/ 22

附言我正在使用JTextArea,但不想使用JEditorPane

解决方法:

也许这就是您所追求的?

myTextArea.getFontMetrics().getHeight()

getFontMetrics是一个method on JComponent,它为您提供一个具有getHeight() method的FontMetrics对象.

上一篇:java-Source Sans Pro的TTF和OTF版本在Swing(Nimbus L&F)中的显示方式有所不同


下一篇:android-在字符串中设置自定义字体