Java アプレットの例

もしJava対応ブラウザでこれを見ておられるなら,下にランダムな円が100個描かれるはずです。

これが見えれば,あなたのブラウザにはJava 1.1以上対応のプラグインが入っています。

このデモはJava言語で次のように書きました。

import java.awt.*;
import java.applet.Applet;
import java.util.Random;

public class Circles1 extends Applet {
    public void paint(Graphics g) {
        Random a = new Random();
        for (int i = 0; i < 100; i++) {
            g.setColor(new Color(a.nextInt()));
            int x = (int)(300 * a.nextDouble());
            int y = (int)(100 * a.nextDouble());
            int r = (int)(40 * a.nextDouble()) + 10;
            g.fillOval(x - r, y - r, 2 * r, 2 * r);
        }
    }
}

これを javac -source 1.2 -target 1.1 Circles1.java というコマンドでコンパイルしました。


ちなみに,Java 2(JDK 1.2以降)ではSwingのJAppletを使って次のように書くのが普通です。

import java.awt.*;
import javax.swing.*;
import java.util.Random;

public class Circles2 extends JApplet {
    public void init() {
        setContentPane(new MyJPanel());
        // または getContentPane().add(new MyJPanel());
    }
    class MyJPanel extends JPanel { // これは外に出してもいい
        public void paintComponent(Graphics g) {
            // super.paintComponent(g);  // 背景色がある場合
            Random a = new Random();
            for (int i = 0; i < 100; i++) {
                g.setColor(new Color(a.nextInt()));
                int x = a.nextInt(300);
                int y = a.nextInt(100);
                int r = a.nextInt(40) + 10;
                g.fillOval(x - r, y - r, 2 * r, 2 * r);
            }
        }
    }
}

これを javac -source 1.2 -target 1.2 Circles2.java というコマンドでコンパイルした結果です:


さらに,JDK 1.5で javac Circles5.java というコマンドでコンパイルしたものも載せておきます:

これが見えれば,あなたのブラウザにはJavaランタイム1.5以上対応のプラグインが入っています。

これが見えない場合,ブラウザの「Javaコンソール」を出してみると,次のようなエラーが出ているはずです:

java.lang.UnsupportedClassVersionError: Circles5 (Unsupported major.minor version 49.0)

この 49 というバージョン番号は,JDK 1.5 を意味するものです。


奥村晴彦

Last modified: 2005-12-29 11:27:46