Graphics クラス

[内容]

  グラフィックスツールの集まりからなっているクラスです

[主なメソッド]

[使用例]

  1. プログラム例は,Graphics クラスの各メソッド等の使用例です.ここをクリックするとアプレット版が表示されます(プログラム).なお,アプレット版に関しては,画像( fig0.gif )の読み込み方が異なる点に注意してください.

  2. プログラム例は,バックグラウンドの色,及び,表示するフォントの種類,スタイル,大きさ,色を変化させた例です.また,FontMetrics クラスのメソッドを使用してフォントに関する情報を得,文字列の出力位置を制御しています.ここをクリックするとアプレット版が表示されます(プログラム).

  3. このプログラム例では,Graphics クラスを利用して図(円)を描いてアニメーションを作成しています.ここをクリックして表示してみてください.

  4. プログラム例は,ボールの落下をシミュレーションしたものです.ボールをクッリクすると停止し,もう一度クリックすると再び動き出します.この例においても,上の例と同様に,一定時間毎に異なる位置にボールを描くことによってアニメーションを作成しています.

  5. プログラム例は,上と同様に,ボールの落下をシミュレーションしたものです.ただし,この例では,ボールのイメージ( ball.gif )を読み込み,それを一定時間毎に異なる位置に表示することによってアニメーションを作成しています.外見的には,上で示したアニメーションと同じですが,多少画面のちらつきを感じると思います.ちらつきをなくすためには,次の例で述べるように,バッファリング処理が必要です.

  6. プログラム例は,文字が回転しながら移動する非常に単純なアニメーションです.上の例と同様,外部から画像を読み込んでいますが,異なる画像を順に表示しています.ここをクリックして,表示してみてください.

  7. 簡単なアニメーションの場合は問題になりませんが,一度に描く量が多くなったり,描画速度を速くすると画面のちらつきが発生するようになります.下の図では,背景の上に小さな円をランダムに動かしています.通常の方法(プログラム例1)で描くとかなり画面がちらつきますが,バッファリングを利用する(プログラム例2)と,ちらつきはほとんど無くなります.なお,プログラム例2では,MediaTracker を利用してイメージを読み込んでいます.アプレット版に関しては,以下に示す箇所をクリックしてください.
    バッファ無しプログラム
    バッファ有りプログラム

  8. もう少し複雑な例を示します.プログラム例は,Java によってホームページにおけるトップページを作成した例です.最初に表示された状態では,すべての図形が停止していますが,徐々に各図形が動き出します.まず,上部にある文字の部分をクリックすると,

    加速: 動きが少しずつ速くなります
    加速: 動きが少しずつ遅くなります
    総合情報学部: 総合情報学部への入り口に移動します

    といった動作を行います.

      図形部分をクリックすると,動きが止まり,対応する説明が表示されます.説明を閉じると再び動き出し,説明を閉じずに文字や図形以外の部分をクリックすると説明に対応する図形が削除された後,他の図形は再び動き出します.また,文字や図形以外の部分をクリックすると,動きが停止します.停止した状態で,文字や図形以外の部分をクリックすると,再び動き出します.最初に設定されている速度では,各図形をクリックすることは難しいかと思いますので,減速又は停止した後にクリックしてみてください.

[参照]

Font, FontMetrics

ホームページ 目次 演習解答例目次 付録目次 索引