フォント

last modified: Jan./29th/2002

描画は paint() メソッドの内で、引数で受け取った Graphics オブジェクトを用いて実装します。ブラウザによってインスタンス化されたときに適切なオブジェクトが引数を通して受け渡されます。

この Graphics オブジェクトに適当な Font クラス型オブジェクトや Color クラス型オブジェクトをセットすることで、フォントや色を指定して描画することが出来ます。

最初はフォントを指定してみます。

フォントの作成方法

最初に Font 型オブジェクトでフォントファミリー、スタイル、大きさを指定したフォントを作成します。

java.lang.Object
  |
  +--java.awt.Font

クラス java.awt.Fontimport するのを忘れないようにしましょう。

コンストラクタ

Font(Map attributes)
指定された属性で新しい Font を作成します。
Font(String name, int style, int size)
指定された名前、スタイル、およびポイントサイズから新しい Font を作成します。

論理フォント名

プラットフォームごとにインストールされているフォントは違います。同じプラットフォームでも、各マシンごとにかなりバラバラです。そこで、共通して利用できるフォント名が論理的に決められています。プラットフォームごとに、にかよったフォントが関連付けられます。

初期値は Default です。フォント名は文字列として引数に記述します。

スタイル

指定したフォントをイタリック体、太字、太字イタリック体に指定することが出来ます。

初期値は PLAIN です。これらは Font クラスの静的メンバ変数(クラス変数)として定義された整数列ビットマスクです。イタリックかつ太字ならば、 Font.ITALIC | Font.BOLD と指定します。

サンプル

Font fnt = new Font("SansSerif", Font.ITALIC|Font.BOLD, 30);

上のサンプルでは、フォントが SsnaSerif 、スタイルがイタリック且つ太字、大きさが30ポイントのフォントを、変数名 fnt で参照しています。

このようにして作成した Font オブジェクトを、 Graphics クラスの setFont() メソッドで選択することで、このフォントを用いて描画されます。

サンプル

次の例では、 Graphics クラスの setFont() メソッドで描画フォントを指定しています。このメソッドの引数は、 Font クラス型のオブジェクトです。

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Font;

public class FontTest extends Applet{
	public void paint(Graphics gs){
		Font fnt1 = new Font("Serif", Font.BOLD, 30);
		gs.setFont(fnt1);
		gs.drawString("Hello world!", 15,40);
		Font fnt2 = new Font("Serif", Font.BOLD|Font.ITALIC, 30);
		gs.setFont(fnt2);
		gs.drawString("Bye world!", 15,80);
	}
}
<p><applet code="FontTest.class" width="200" height="100">
アプレットが実行できない場合の代替内容。
</applet></p>
アプレットが実行できない場合の代替内容。
アプレット:FontTest.class

ここでは java.awt.Font を明示的に import しましたが、 java.awt.Color, java.awt.Graphics と同時に import java.awt.*; とする方が普通です。ここでは、 Font クラスを利用していることを明示する為に、あえて個別に記述しました。



Copyright © 2001 SUGAI, Manabu. All Rights Reserved.