All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class shinSoft.MISAnimator

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Container
                   |
                   +----java.awt.Panel
                           |
                           +----java.applet.Applet
                                   |
                                   +----shinSoft.MISAnimator

public abstract class MISAnimator
extends Applet
implements Runnable
MemoryImageSource を使用したアニメーション用アプレット - MISAnimator.class このクラスは処理が重たく、また、単純な描画関数のみを使用して描画する場合に より速く描画できるように MemoryImageSource クラスを利用したアニメーション制御 のための abstract なクラスです。 MISAnimator で行う制御サービスは以下の通りです。
  1. MemoryImageSource の生成と管理
  2. アニメーション間隔(タイマ 又は スレッドスイッチング)の制御
  3. Border クラスを使用したボーダ枠の描画サービス
  4. Border 枠を描画した場合のクリッピング
このクラスのサブクラスの基本的な構造は以下の通りです。
 public class ClassName extends MISAnimator {
   void initializePreHook(){
     MISAnimator のデフォルトの初期値の変更などの
     MISAnimator の動作定義(必要に応じて作成する)
   }
   void borderParamPreHook(Border b){
     Border クラスの初期化のデフォルト値等の設定(必要に応じて作成する)
   }
   void initialize(){
     Applet の場合の init() と同様の初期処理(必須)
   }
   boolean runPreHook()(){
     ループ処理を開始する前の事前準備(必要に応じて作成する)
     return true;   (終了させる場合は false で戻る)
   }
   int repaintPreHook(){
     アニメーションの描画をする(必須ではないが、定義しないと意味がない)
   }
   int destroyPreHook(){
     インスタンス破壊時にしておく後処理(必要に応じて作成する)
   }
 }

(c)Copyright 1997 Shinichi Hagiwara. All rights reserved.

Version:
1.0, 01/03/98
Author:
Shinichi Hagiwara

Variable Index

 o awtBorder
生成した Border クラスのインスタンス。
 o awtHeight
アプレットの矩形サイズ。 initializePreHook() ではこの値のみ参照できる。
 o awtWidth
アプレットの矩形サイズ。 initializePreHook() ではこの値のみ参照できる。
 o borderDrawRect
描画領域
 o DOS_NOPAINT
repaintPreHook() メソッドの戻り値 - 描画の必要なし
 o DOS_REPAINT
repaintPreHook() メソッドの戻り値 - 描画が必要
 o DOS_TERMINATE
repaintPreHook() メソッドの戻り値 - スレッドの終了
 o enableBorderService
Border クラスを生成し、ボーダ枠を描画する。 この値は initializePreHook() で修正することができる。
 o intervalTimer
repaintPreHook() を呼出す時間間隔の初期値。 この値は initializePreHook() で修正することができる。
 o needClipBorderRect
ボーダ枠を描画した時枠内の矩形領域をクリップする。 この値は initializePreHook() で修正することができる。
 o needFillRect
背景を指定された色で塗つぶす。 この値は initializePreHook() で修正することができる。
 o offGraphics
オフスクリーングラフィックス
 o offImage
オフスクリーンイメージ
 o pixels
MemoryImageSource を生成する場合に使用する Pixel 配列。 描画領域(borderDrawRect)内のサイズ。
 o tagBgColor
ボーダ枠を抑止し、背景色の描画を指定した場合に使用する背景色のタグ名。 この値は initializePreHook() で修正することができる。
 o tagIntervalTimer
repaintPreHook() を呼出す時間間隔を指定するタグ名。 この値は initializePreHook() で修正することができる。
 o thread
スレッド
 o threadPriority
スレッドの優先順位 この値は initializePreHook() で修正することができる。
 o yieldInsteadOfSleep
repaintPreHook() を呼出す方法を Thread.sleep() ではなく Thread.yield() にする。 この値は initializePreHook() で修正することができる。

Constructor Index

 o MISAnimator()

Method Index

 o borderParamPreHook(Border)
Border クラスのパラメータ設定に先立ち、必要な変更がある場合に定義します。 デフォルトでは何もしません。
 o clear(int[])
指定された Pixel 配列を background() に指定された色で塗りつぶします。
 o destroy()
MISAnimator クラスで使用している領域を解放します。 このメソッドでは以下の処理を行います。
  1. destroyPreHook() を呼出す
  2. 使用している Image, Graphics クラスを解放する
このメソッドを書き換えることはできません。
 o destroyPreHook()
destroy メソッド内の処理を行う前に、必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o drawPoint(int, int)
Pixel 配列上の(x,y)に設定されている色で点を描画します。
 o getAppletInfo()
このアプレットに関する情報を返します。
 o getParameterInfo()
このアプレットで使用できるパラメータに関する情報を返します。 この関数は initializePreHook() では機能しません。 実際には MISAnimator のサブクラスで再定義し、このクラスに関係する パラメータ情報を super.getParameterInfo() で取得し、 mergeInfo()関数で統合して使用します。
 o init()
MISAnimator を初期化します。 このメソッドでは以下の処理を行います。
  1. initializePreHook() を呼出す
  2. オフスクリーンイメージの生成
  3. borderParamPreHook() を呼出す
  4. オフスクリーンにボーダ枠を描画(指定時のみ)
  5. background を設定
  6. MemoryImageSource を使用したオフスクリーンイメージを生成する
  7. initialize() を呼出す
このメソッドを書き換えることはできません。
 o initialize()
初期化処理を定義しなければなりません。 デフォルトでは定義してありません。
 o initializePreHook()
MISAnimator クラスの初期化処理に先立ち、必要な変更がある場合に定義します。 デフォルトでは何もしません。
 o mergeInfo(String[][], String[][])
2つの String[][] 配列を1つに結合します。 2つ配列の内いずれかに null を指定すると他方の配列をそのまま返します。
 o paint(Graphics)
イメージを描画します。 デフォルトではオフスクリーンイメージを描画します。
 o repaintPreHook()
描画の更新をします。 デフォルトでは何もしません。
 o run()
スレッドの実行の本体。 このメソッドでは以下の処理を行います。
  1. 実行優先度の設定
  2. runPreHook() を呼出す
  3. 背景を塗りつぶす(指定時のみ)
  4. repaintPreHook() を呼出す
  5. 表示用オフスクリーンイメージを更新する
  6. 時間待ちをする
このメソッドを書き換えることはできません。
 o runPreHook()
run メソッド内のループ処理を行う前に、必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o setColor(Color)
Pixel 配列に描画する際の色を設定します。
 o setColor(int)
Pixel 配列に描画する際の色を設定します。
 o start()
アニメーションの描画のためのスレッドを生成します。 このメソッドでは以下の処理を行います。
  1. startPreHook() を呼出す
  2. スレッドを生成する
  3. startPostHook() を呼出す
このメソッドを書き換えることはできません。
 o startPostHook()
スレッド生成後に必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o startPreHook()
start メソッドでスレッドを生成するに先立ち、必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o stop()
スレッドを停止します。 このメソッドでは以下の処理を行います
  1. stopPreHook() を呼出す
  2. スレッドを停止する
  3. stopPostHook() を呼出す
このメソッドを書き換えることはできません。
 o stopPostHook()
stop メソッドでスレッドを停止した後、必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o stopPreHook()
stop メソッドでスレッドを停止するに先立ち、必要な処理がある場合に定義します。 デフォルトでは何もしません。
 o update(Graphics)
paint() に先立ち、必要な処理がある場合に定義します。 デフォルトでは paint(Graphics g) を呼出します。

Variables

 o thread
 protected Thread thread
スレッド

 o threadPriority
 protected int threadPriority
スレッドの優先順位 この値は initializePreHook() で修正することができる。

 o tagIntervalTimer
 protected String tagIntervalTimer
repaintPreHook() を呼出す時間間隔を指定するタグ名。 この値は initializePreHook() で修正することができる。

 o intervalTimer
 protected int intervalTimer
repaintPreHook() を呼出す時間間隔の初期値。 この値は initializePreHook() で修正することができる。

 o tagBgColor
 protected String tagBgColor
ボーダ枠を抑止し、背景色の描画を指定した場合に使用する背景色のタグ名。 この値は initializePreHook() で修正することができる。

 o awtWidth
 protected int awtWidth
アプレットの矩形サイズ。 initializePreHook() ではこの値のみ参照できる。

 o awtHeight
 protected int awtHeight
アプレットの矩形サイズ。 initializePreHook() ではこの値のみ参照できる。

 o yieldInsteadOfSleep
 protected boolean yieldInsteadOfSleep
repaintPreHook() を呼出す方法を Thread.sleep() ではなく Thread.yield() にする。 この値は initializePreHook() で修正することができる。

 o enableBorderService
 protected boolean enableBorderService
Border クラスを生成し、ボーダ枠を描画する。 この値は initializePreHook() で修正することができる。

 o needFillRect
 protected boolean needFillRect
背景を指定された色で塗つぶす。 この値は initializePreHook() で修正することができる。

 o needClipBorderRect
 protected boolean needClipBorderRect
ボーダ枠を描画した時枠内の矩形領域をクリップする。 この値は initializePreHook() で修正することができる。

 o awtBorder
 protected Border awtBorder
生成した Border クラスのインスタンス。

 o borderDrawRect
 protected Rectangle borderDrawRect
描画領域

 o offImage
 protected Image offImage
オフスクリーンイメージ

 o offGraphics
 protected Graphics offGraphics
オフスクリーングラフィックス

 o pixels
 protected int pixels[]
MemoryImageSource を生成する場合に使用する Pixel 配列。 描画領域(borderDrawRect)内のサイズ。

 o DOS_TERMINATE
 protected static final int DOS_TERMINATE
repaintPreHook() メソッドの戻り値 - スレッドの終了

 o DOS_NOPAINT
 protected static final int DOS_NOPAINT
repaintPreHook() メソッドの戻り値 - 描画の必要なし

 o DOS_REPAINT
 protected static final int DOS_REPAINT
repaintPreHook() メソッドの戻り値 - 描画が必要

Constructors

 o MISAnimator
 public MISAnimator()

Methods

 o getAppletInfo
 public String getAppletInfo()
このアプレットに関する情報を返します。

Returns:
アプレット情報
Overrides:
getAppletInfo in class Applet
 o getParameterInfo
 public String[][] getParameterInfo()
このアプレットで使用できるパラメータに関する情報を返します。 この関数は initializePreHook() では機能しません。 実際には MISAnimator のサブクラスで再定義し、このクラスに関係する パラメータ情報を super.getParameterInfo() で取得し、 mergeInfo()関数で統合して使用します。

Returns:
パラメータ情報
Overrides:
getParameterInfo in class Applet
 o mergeInfo
 protected String[][] mergeInfo(String a[][],
                                String b[][])
2つの String[][] 配列を1つに結合します。 2つ配列の内いずれかに null を指定すると他方の配列をそのまま返します。

Parameters:
a,b - String[][] 配列 / null
Returns:
結合した String[][] 配列
 o init
 public final void init()
MISAnimator を初期化します。 このメソッドでは以下の処理を行います。
  1. initializePreHook() を呼出す
  2. オフスクリーンイメージの生成
  3. borderParamPreHook() を呼出す
  4. オフスクリーンにボーダ枠を描画(指定時のみ)
  5. background を設定
  6. MemoryImageSource を使用したオフスクリーンイメージを生成する
  7. initialize() を呼出す
このメソッドを書き換えることはできません。

Overrides:
init in class Applet
 o clear
 protected synchronized void clear(int px[])
指定された Pixel 配列を background() に指定された色で塗りつぶします。

Parameters:
px - 塗りつぶす Pixel 配列
 o setColor
 protected synchronized void setColor(Color c)
Pixel 配列に描画する際の色を設定します。

Parameters:
c - 設定する色
 o setColor
 protected synchronized void setColor(int c)
Pixel 配列に描画する際の色を設定します。

Parameters:
c - 設定する色
 o drawPoint
 protected synchronized void drawPoint(int x,
                                       int y)
Pixel 配列上の(x,y)に設定されている色で点を描画します。

Parameters:
x,y - 点を描画する位置
 o run
 public final void run()
スレッドの実行の本体。 このメソッドでは以下の処理を行います。
  1. 実行優先度の設定
  2. runPreHook() を呼出す
  3. 背景を塗りつぶす(指定時のみ)
  4. repaintPreHook() を呼出す
  5. 表示用オフスクリーンイメージを更新する
  6. 時間待ちをする
このメソッドを書き換えることはできません。

 o start
 public final void start()
アニメーションの描画のためのスレッドを生成します。 このメソッドでは以下の処理を行います。
  1. startPreHook() を呼出す
  2. スレッドを生成する
  3. startPostHook() を呼出す
このメソッドを書き換えることはできません。

Overrides:
start in class Applet
 o stop
 public final void stop()
スレッドを停止します。 このメソッドでは以下の処理を行います
  1. stopPreHook() を呼出す
  2. スレッドを停止する
  3. stopPostHook() を呼出す
このメソッドを書き換えることはできません。

Overrides:
stop in class Applet
 o destroy
 public final synchronized void destroy()
MISAnimator クラスで使用している領域を解放します。 このメソッドでは以下の処理を行います。
  1. destroyPreHook() を呼出す
  2. 使用している Image, Graphics クラスを解放する
このメソッドを書き換えることはできません。

Overrides:
destroy in class Applet
 o initializePreHook
 protected void initializePreHook()
MISAnimator クラスの初期化処理に先立ち、必要な変更がある場合に定義します。 デフォルトでは何もしません。

 o borderParamPreHook
 protected void borderParamPreHook(Border b)
Border クラスのパラメータ設定に先立ち、必要な変更がある場合に定義します。 デフォルトでは何もしません。

 o startPreHook
 protected void startPreHook()
start メソッドでスレッドを生成するに先立ち、必要な処理がある場合に定義します。 デフォルトでは何もしません。

 o startPostHook
 protected void startPostHook()
スレッド生成後に必要な処理がある場合に定義します。 デフォルトでは何もしません。

 o stopPreHook
 protected void stopPreHook()
stop メソッドでスレッドを停止するに先立ち、必要な処理がある場合に定義します。 デフォルトでは何もしません。

 o stopPostHook
 protected void stopPostHook()
stop メソッドでスレッドを停止した後、必要な処理がある場合に定義します。 デフォルトでは何もしません。

 o runPreHook
 protected boolean runPreHook()
run メソッド内のループ処理を行う前に、必要な処理がある場合に定義します。 デフォルトでは何もしません。

Returns:
実行後の処理を指定します。 続行の場合は true、中止の場合は false を指定します。
 o destroyPreHook
 protected void destroyPreHook()
destroy メソッド内の処理を行う前に、必要な処理がある場合に定義します。 デフォルトでは何もしません。

 o repaintPreHook
 protected int repaintPreHook()
描画の更新をします。 デフォルトでは何もしません。

Returns:
実行後の処理を指定します。
See Also:
DOS_TERMINATE, DOS_REPAINT, DOS_NOPAINT
 o update
 public void update(Graphics g)
paint() に先立ち、必要な処理がある場合に定義します。 デフォルトでは paint(Graphics g) を呼出します。

Overrides:
update in class Component
 o paint
 public void paint(Graphics g)
イメージを描画します。 デフォルトではオフスクリーンイメージを描画します。

Overrides:
paint in class Container
 o initialize
 protected abstract void initialize()
初期化処理を定義しなければなりません。 デフォルトでは定義してありません。


All Packages  Class Hierarchy  This Package  Previous  Next  Index