2014年3月28日金曜日

開発環境

Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の12章(GUIの基礎)、自分で考えてみよう(p.383)を解いてみる。

自分で考えてみよう(p.383)

コード(BBEdit, Emacs)

TestAnimation.java

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

public class TestAnimation {
    JFrame frame;
    int x = 50;
    int y = 50;

    public static void main(String [] args) {
        TestAnimation gui = new TestAnimation();
        gui.go();
    }

    public void go() {
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        MyDrawPanel drawPanel = new MyDrawPanel();

        frame.getContentPane().add(BorderLayout.CENTER, drawPanel);

        frame.setSize(500, 500);
        frame.setVisible(true);

        while (x < 400) {
            Calendar cal = Calendar.getInstance();
            long start = cal.getTimeInMillis();
            while (true) {
                Calendar cal2 = Calendar.getInstance();
                if (cal2.getTimeInMillis() - start > 100) {
                    break;
                }
            }
            ++x;
            ++y;
            frame.repaint();
        }
    }
    
    class MyDrawPanel extends JPanel {
        public void paintComponent(Graphics g) {
            g.setColor(Color.red);        
            g.fillOval(x, y, 50, 50);
        }
    }
}

入出力結果(Terminal)

$ javac TestAnimation.java && java TestAnimation
$

記念に。

0 コメント:

コメントを投稿