タイマークラスと、ダブルバッファを使ったスーパークラスを作ります。 動きのある 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;
}
}
}