import java.awt.*; import javax.swing.*; public class Ex10_3 extends JPanel implements Runnable { int x,y, wid,hei; // 座標(x,y), 幅wid, 高さhei int i, j, num; // 回数制御用 int rr, gg, bb; // 色指定(rr,gg,bb)用 Color col; Thread thd = null; // スレッド public Ex10_3() { // コンストラクタ setOpaque(false); // 前絵を消してから描画 x = 5; y = 5; // 正方形初期位置(x,y) wid = 29; hei = 29; // 正方形の幅と高さ設定 num = 0; // 描画の回数を制御する変数 rr = 125; gg = 255; bb = 125; // 初期色RGB(rr,gg,bb)設定 col = new Color(rr,gg,bb); thd = new Thread(this); thd.start(); // スレッド開始 } public void paintComponent(Graphics g) { g.setColor(col); // 色指定 for (i=0; i 0) { num--; repaint(); try { // 例外処理 thd.sleep(100); // スレッドスリープ(100ミリ秒) } catch (InterruptedException e) { e.printStackTrace(); // スタックトレース(スタック領域に積まれた呼出済みのメソッド一覧)を出力する } } rr = (rr + 50) % 255; // 赤を少し変えるよ gg = (gg + 60) % 255; // 緑を少し変えるよ bb = (bb + 70) % 255; // 青を少し変えるよ col = new Color(rr, gg, bb); } } }