ここではスーパークラス(親クラス)を作ります。
Java Applet のプログラムは、JApplet クラスを継承します。 この場合、JApplet クラスのことを、スーパークラスといいます。 また、親クラスともいいます。
そこで、JApplet クラスを継承したクラスを作り、それをスーパークラスにすることを考えます。
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
// スーパークラス
public class Tpl01 extends JApplet {
Graphics2D g2;
Image img; // ダブルバッファ
public void paint(Graphics g) {
if (g2 == null) {
img = createImage(getWidth(), getHeight());
g2 = (Graphics2D) img.getGraphics();
// 図形のアンチエイリアス処理
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
}
// 画面消去
g2.clearRect(0, 0, getWidth(), getHeight());
// 描画
draw(g2);
g.drawImage(img, 0, 0, this);
}
// これをオーバーライドする
public void draw(Graphics2D g2){};
}
Java Applet 用で、描画は仮想画面にすることにします。
しかも図形のギザギザ感をなくす処理等を1度実行するようにしました。
そのために、描画用の変数 img 等を用意します。
こうすることで、Tpl01 をスーパークラスにすることができます。
子クラスでは、draw メソッドをオーバーライドするだけです。