类 java.awt.FontMetrics
java.lang.Object
|
+----java.awt.FontMetrics
- public abstract class FontMetrics
- extends Object
- implements Serializable
字体度量对象,它给出了关于在特定的屏幕上描绘特定字体的信息。注意到这些方法的实现是低效的,它们被特定工具箱中的更高效的工具覆盖。
在子类中注意:由于这些方法方式中许多形成相互调用的闭合的递归循环,因此当使用子类时,必须注意在每个这样的循环中至少采用一种方法来防止无限递归。特别是,为了确保正确和阻止无限递归,下列是所必须覆盖的方法的最小建议集(尽管其它子集也同样可行):
当一个应用申请 AWT 将一个字符放置在
(x, y) 位置时,字符被放置在该处,即它的基准点(在附加的映像中显示为一个点)被放置在该位置。基准点指定了一条水平线,称为字符的基线。在常规的打印中,字符的基线应当被对齐。
另外,在字体中的每个字符有一个上升量、
下降量 和 超前宽度。上升量是字符比基线升高的数量。下降量是字符比基线降低的数量。超前宽度指示出 AWT 应当放置下一个字符的位置。
如果当前字符被放置在基准点为 (x, y) 的位置上,并且字符的超前宽度为 w ,于是随后的字符被放置在基准点为
(x + w, y) 的位置上。超前宽度通常都与字符的边界框的宽度相同,但是并不需要这样。尤其是,不对称的和斜体字体通常有一些右上角稍稍越过超前宽度的字符。
字符数组或字符串也可以有上升量、下降量和超前宽度。数组的上升量是在数组中最大的字符上升量。下降量是在数组中最大的字符下降量。超前宽度是在数组中的每个字符的超前宽度的和。
- 来自:
- JDK1.0
- 参见:
- Font
变量索引
- font
- 实际的字体。
构造子索引
- FontMetrics(Font)
- 创建一个新的
FontMetrics 对象,用于查出在该字体中关于指定字体和指定字符凸凹的高度和宽度信息。
方法索引
- bytesWidth(byte[], int, int)
-
返回以该字体显示的指定字节数组的总的超前宽度。
- charsWidth(char[], int, int)
-
返回以该字体显示的指定字符数组的总的超前宽度。
- charWidth(char)
-
返回该字体的指定字符的超前宽度。
- charWidth(int)
-
返回该字体的指定字符的超前宽度。
- getAscent()
- 使用该字体的度量来确定所描述的字体的字体上升量 。
- getDescent()
- 使用该字体的度量来确定所描述的字体的字体下降量 。
- getFont()
- 获取用该字体的度量描述的字体。
- getHeight()
- 获取在该字体中一行文本的标准高度。
- getLeading()
- 确定用该字体的度量描述的字体的标准前导量。
- getMaxAdvance()
- 获取在该字体中字符的最大超前宽度。
- getMaxAscent()
- 确定用该字体的度量描述的字体的最大上升量。
- getMaxDecent()
- 仅仅是为了保持向下兼容性。
不推荐。
- getMaxDescent()
- 确定用该字体的度量描述的字体的最大上升量。
- getWidths()
- 获取在该字体中前 256 个字符的超前宽度。
- stringWidth(String)
-
返回以该字体显示的指定字符串的总的超前宽度。
- toString()
-
返回一个表示该
FontMetric 对象数值的字符串。
变量
font
protected Font font
- 实际的字体。
- 参见:
- getFont
构造子
FontMetrics
protected FontMetrics(Font font)
- 创建一个新的
FontMetrics 对象,用于查出在该字体中关于指定字体和指定字符凸凹的高度和宽度信息。
- 参数:
- font - 字体
- 参见:
- Font
方法
getFont
public Font getFont()
- 获取用该字体的度量描述的字体。
- 返回值:
- 用该字体的度量描述的字体。
getLeading
public int getLeading()
- 确定用该字体的度量描述的字体的标准前导量。标准前导量(行间隔)是保留在一行的下降量和下一行的上升量之间的逻辑间隔量。计算高度的度量时包含了这个额外的间隔。
- 返回值:
- 字体的标准前导量。
- 参见:
- getHeight, getAscent, getDescent
getAscent
public int getAscent()
- 使用该字体的度量来确定所描述的字体的字体上升量。字体上升量是从字体的基线到大多数字母数字字符顶部的距离。在字体中一些字符可能扩展超过字体上升量线。
- 返回值:
- 字体的字体上升量。
- 参见:
- getMaxAscent
getDescent
public int getDescent()
- 用该字体的度量来确定所描述的字体的字体下降量。字体下降量是从字体的基线到大多数字母数字字符底部的距离及下行部分。字体中一些字符可能扩展到低于字体下降量线。
- 返回值:
- 字体的字体下降量。
- 参见:
- getMaxDescent
getHeight
public int getHeight()
- 获取在该字体中一行文本的标准高度。这是指相邻文本行的基线之间的距离。它是前导量、上升量和下降量的总和。并没有保证以该距离为间隔的文本行将不连接;如果一些字符超过标准的上升量或标准的下降量的公制单位时,这样的行可能会重叠。
- 返回值:
- 字体的标准高度。
- 参见:
- getLeading, getAscent, getDescent
getMaxAscent
public int getMaxAscent()
- 确定用该字体的度量描述的字体的最大上升量。没有字符会进一步扩展超过字体基线的距离大于此高度。
- 返回值:
- 在字体中字符的最大的上升量。
- 参见:
- getAscent
getMaxDescent
public int getMaxDescent()
- 确定用该字体的度量描述的字体的最大下降量。没有字符会进一步扩展低于字体基线的距离大于此高度。
- 返回值:
- 在字体中字符的最大的下降量。
- 参见:
- getDescent
getMaxDecent
public int getMaxDecent()
- 注意:不推荐使用 getMaxDecent() 方法。
同 JDK 1.1.1 版一样,用
getMaxDescent() 方法替换。
- 仅仅是为了保持向下兼容性。
- 参见:
- getMaxDescent
getMaxAdvance
public int getMaxAdvance()
- 获取在该字体中字符的最大超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 返回值:
- 在字体中字符的最大超前宽度,如果最大超前宽度未知时,为
-1 。
charWidth
public int charWidth(int ch)
- 返回在该字体中指定字符的超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 参数:
- ch - 将被度量的字符
- 返回值:
- 在字体中用该字体公制单位描述的指定
字符的超前宽度。
- 参见:
- charsWidth, stringWidth
charWidth
public int charWidth(char ch)
- 返回在该字体中指定字符的超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 参数:
- ch - 将被度量的字符
- 返回值:
- 在字体中用该字体的度量描述的指定
字符的超前宽度。
- 参见:
- charsWidth, stringWidth
stringWidth
public int stringWidth(String str)
- 返回在该字体中显示指定字符串的总的超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 参数:
- str - 将被度量的字符串
- 返回值:
- 在字体中用该字体的度量描述的指定字符串的超前宽度。
- 参见:
- bytesWidth, charsWidth
charsWidth
public int charsWidth(char data[],
int off,
int len)
- 返回在该字体中显示指定的字符数组的总的超前宽度。
超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 参数:
- data - 将被度量的字符数组
- off - 在数组中字符的起始偏移
- len - 数组中将被度量的字符数
- 返回值:
- 在字体中用该字体的度量描述的指定
字符数组的子数组的超前宽度。
- 参见:
- charWidth, charWidth, bytesWidth, stringWidth
bytesWidth
public int bytesWidth(byte data[],
int off,
int len)
- 返回在该字体中显示指定的字节数组的总的超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 参数:
- data - 将被度量的字节数组
- off - 在数组中字节的起始偏移
- len - 数组中将被度量的字节数
- 返回值:
- 在字体中用该字体的度量描述的指定
字节数组的子数组的超前宽度。
- 参见:
- charsWidth, stringWidth
getWidths
public int[] getWidths()
- 获取在该字体中前 256 个字符的超前宽度。超前宽度是在文本行中当前点从一个字符移动到下一个字符所需的数量。
- 返回值:
- 在字体中用该字体的度量描述的指定字符的超前宽度的数组。
toString
public String toString()
- 返回一个表示该
字体度量对象数值的字符串。
- 返回值:
- 表示该字体度量的字符串。
- 覆盖:
- 类 Object 中的
toString