Java Parts

Java Parts

Internet Explorer 4.0以降でご覧ください。

ExGraphics classとRunCanvas class

Javaの汎用部品作りに挑戦中です。
描画命令を拡張したExGraphics class と ちらつかないアニメーションを簡単に作れる RunCanvas class を試作しました。
下はそのサンプルです。作成にあたっては、Java物理教材メーリングリストのみなさんの多大なるご協力を得ました。
サンプルのソース
RunCanvasのソース
RunCanvas.classのダウンロード
ExGraphicsのソース
ExGraphics.classのダウンロード
角度によって線の太さが若干変化するのはご愛敬?
四捨五入時の微妙なドットのずれによって起こります。


Graphics クラスを拡張した ExGraphics クラス
 福野さんのNullGraphics クラスを参考にさせていただきました。
 Graphics クラスを継承し、以下の6つのメソッドを追加します。
  void drawCircle(int x,int y,int r) 中心を指定して円を描くメソッド
         中心(x,y)、半径 r の円を描きます。
  void fillCircle(int x,int y,int r) 中心を指定して円を塗るメソッド
         中心(x,y)、半径 r の円を描き中を塗りつぶします。
  void drawArrow(int x0,int y0,int x1,int y1,int l) 矢印を描画するメソッド
         始点(x0,y0)から終点(x1,y1)へ矢印を描きます。
         矢の長さを l で与えます。
  void drawWline(int x0,int y0,int x1,int y1,int w) 太い直線を描画するメソッド
         始点(x0,y0)から終点(x1,y1)へ太さ w の直線を描きます。
  void drawWarrow(int x0,int y0,int x1,int y1,int l,int w) 太い矢印を描画するメソッド
         始点(x0,y0)から終点(x1,y1)へ矢印を描きます。
         矢の長さを l で与えます。太さを w で与えます。
  void drawWcircle(int x, int y, int r, int w) 太さを指定して円を描くメソッド
         中心(x,y) 半径 r の円を w の線で描きます。

Canvasクラスを継承した動画用の RunCanvas クラス
  offScreen の使用によりちらつきがない。
  ExGraphics を使用することにより矢印などを描画
  使い方
   ・RunCanvasを継承したクラスを作る
   ・drawCanvasをオーバーライドして
    画面の描画方法を記述する
   ・pastTimeをオーバーライドして
    時間が経過した時の処理を記述する
   ・set_sleepTime(int t); を使って
    書き換えの時間間隔を設定する。(1/1000秒単位)
     省略時は10/1000秒

return