タイマークラスと、ダブルバッファを使ったスーパークラスを作ります。 動きのある JavaApplet です。
初期設定と描画メソッドを作っています。 これを多重定義するだけです。
import java.util.Timer; import java.util.TimerTask; public class Tpl02 extends Tpl01 { // タイマー Timer td = null; MyTimerTask task = null; class MyTimerTask extends TimerTask { public void run() { repaint(); } } // タイマーのセット public void setTimer(int t) { td = new Timer(); td.scheduleAtFixedRate(new MyTimerTask(), 0, t); } public void setTimer() { setTimer(100); } }
これを継承し、draw メソッドをオーバーライドします。 また、時間の間隔は、setTimer メソッドを使います。
実際に使ってみます。 i という変数を変化させます。 draw メソッドをオーバーライドしました。
import java.awt.Graphics2D; import Tpl02; public class TestTpl02 extends Tpl02 { int i = 0; public void init() { setTimer(); } public void draw(Graphics2D g2) { g2.drawLine(0, 0, i, i); i += 10; if (i > getWidth()) { i = 0; } } }