也许这就是您所追求的?
myTextArea.getFontMetrics().getHeight()
getFontMetrics
是一个 JCOMPONENT上的方法 给你一个 FontMetrics
具有一个 getHeight()
方法.
题
因此,我正在创建一个极其可变的界面,即使字体几乎都必须是可变的(只要相信我,我需要它,因此可以在每个分辨率上起作用),但是显然,如果文本,则有多行,单独的行。
经过一些尝试后,我发现字体之间的空间不是静态的(例如,2个像素),因此必须是完整字体的一部分(例如,百分比为25%,字体大小为40像素,间距是10像素)或某种公式。
经过一些搜索工作,我找不到有关字体间距的任何信息,所以我认为这是特定于Java的。我怀疑这一点。由于Java没有一种方法可以更改此间距(据我所知)。
所以我的问题是,有什么方法可以改变或了解2行新罗马文本之间的间距?
最大的问题是,我需要知道这是创建字体...如果需要公式:fontsize =(myTextarea.getheight() - ([[fontascend]+[fontdescent])*21)/22
ps我正在使用jtextarea,不喜欢使用jeditorpane
解决方案
也许这就是您所追求的?
myTextArea.getFontMetrics().getHeight()
getFontMetrics
是一个 JCOMPONENT上的方法 给你一个 FontMetrics
具有一个 getHeight()
方法.
其他提示
线之间的间距取决于文本线是否具有后代。
阅读介绍 Fontmetrics类 对于您从未想过的上升和下降的一切。
似乎有了我的特定问题(我必须创建字体,我需要相同的字体才能创建它)唯一的选项是使用jeditorpane并使用CSS将间距设置为我的特定值可以在我的公式中使用或使用代数获取正确的值。