文档

Java™教程
隐藏目录
测量文本
路径:2D 图形
教程:使用文本 API

测量文本

要正确测量文本,您需要学习一些方法并避免一些错误。字体度量是由Font对象渲染的文本的度量,例如字体中一行文本的高度。测量文本的最常见方法是使用FontMetrics实例,该实例封装了此度量信息。例如:

// 从图形中获取度量
FontMetrics metrics = graphics.getFontMetrics(font);
// 获取字体和渲染上下文中一行文本的高度
int hgt = metrics.getHeight();
// 获取字体和渲染上下文中我的文本的前进宽度
int adv = metrics.stringWidth(text);
// 计算包含文本的框的大小,带有一些填充。
Dimension size = new Dimension(adv+2, hgt+2);

这种方法对于许多应用程序来说足够了,可以均匀地间隔文本行或调整Swing组件的大小。

请注意以下内容:

使用这些方法测量文本时,请注意文本可以在矩形范围之外的任何方向上延伸,该矩形由字体高度和字符串的前进宽度定义。

这张图片显示了如何使用字体度量来测量文本

通常,最简单的解决方案是确保文本不会被裁剪,例如,由包围文本的组件。在文本可能被裁剪的情况下添加填充。

如果此解决方案不足够,Java 2D软件中的其他文本测量API可以返回矩形边界框。这些边界框考虑了要测量的特定文本的高度和像素化效果。


上一页: 物理和逻辑字体
下一页: 高级文本显示