FontMetrics

 FontMetricsクラスはObjectクラスの直接のサブ・クラスです。 java.awtパッケージに含まれます。 FontMetricsはフォントの個々の文字のサイズや文字列の画面上での サイズなどを計算するための専用のクラスです。 FontMetricsのオブジェクトは、Fontのオブジェクトが生成される時に 同時に用意されます。 コンストラクタによって独立したデータとして生成することはできません。
 Fontクラスには publicな変数は存在しません。 対応するFontのオブジェクトを内部に記憶していますが、 通常は内部の処理で用いられるだけです。

FontMetricsクラスのメソッド

 FontMetricsクラスには、 全部で十数個のメソッドが定義されています。 メソッドの目的ごとに以下の項目のようにグループ分けして解説します。

  1. フォント全体に関するサイズの情報を調べるメソッド
  2. 個々の文字のサイズを調べるメソッド
  3. 文字列のサイズを調べるメソッド
  4. オブジェクト自身及びフォントの情報に関するメソッド

フォント全体に関するサイズの情報を調べるメソッド

 getAscent()メソッドは、フォントのベースラインから上に向けて計った 標準の縦のサイズを返します。 getMaxAscent()は全ての文字に対するその最大値を返します。 getDescent()メソッドは、フォントのベースラインから下に向けて計った 標準の縦のサイズを返します。 getMaxDescent()は全ての文字に対するその最大値を返します。
 getMaxAdvance()メソッドは、文字と文字との間隔の最大値を返します。 getLeading()メソッドは、行と行との間隔の値を返します。 getHeight()メソッドは行の縦のサイズを返します。 (getAscent() と getDescent() と getLeanding() の和)

個々の文字のサイズを調べるメソッド

 charWidth()は指定された文字の横幅のサイズが、 現実には画面上で何ポイントになるかを返します。 getWidths()は 0 から 255 までのコードに対応する全ての文字の 画面上でのポイント数を配列として返します。

文字列のサイズを調べるメソッド

 これらのメソッドは、対応するフォントで与えられた文字列を 描画する場合に、画面上の実際の横幅のサイズをポイント数で返します。 文字列のデータが charまたはbyteの配列の場合、 第2引数が文字列として利用したい先頭の文字のインデックスを、 第3引数が文字列の文字数を表します。

オブジェクト自身及びフォントの情報を得るメソッド

 getFont() は FontMetrics のオブジェクトに対応する Fontのオブジェクトを 返します。 toString()メソッドは、フォントと文字のサイズに関する情報を Stringクラスのオブジェクトとして返します。