last modified: Jan./29th/2002
描画は paint() メソッドの内で、引数で受け取った Graphics オブジェクトを用いて実装します。ブラウザによってインスタンス化されたときに適切なオブジェクトが引数を通して受け渡されます。
この Graphics オブジェクトに適当な Font クラス型オブジェクトや Color クラス型オブジェクトをセットすることで、フォントや色を指定して描画することが出来ます。
最初はフォントを指定してみます。
最初に Font 型オブジェクトでフォントファミリー、スタイル、大きさを指定したフォントを作成します。
java.lang.Object | +--java.awt.Font
クラス java.awt.Font を import するのを忘れないようにしましょう。
Font(Map attributes)Font(String name, int style, int size)プラットフォームごとにインストールされているフォントは違います。同じプラットフォームでも、各マシンごとにかなりバラバラです。そこで、共通して利用できるフォント名が論理的に決められています。プラットフォームごとに、にかよったフォントが関連付けられます。
DefaultDialogDialogInputMonospacedSerifSansSerifSymbol初期値は Default です。フォント名は文字列として引数に記述します。
指定したフォントをイタリック体、太字、太字イタリック体に指定することが出来ます。
PLAINITALICBOLD初期値は 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 クラスを利用していることを明示する為に、あえて個別に記述しました。