ここではスーパークラス(親クラス)を作ります。
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 メソッドをオーバーライドするだけです。