月亮代表我的心

个人博客,跟月亮无关,跟代表无关,无关谁的心

Java Applet:彩色的椭圆(线程)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import java.awt.*;
import javax.swing.*;

class COval extends JPanel implements Runnable {
  private static final Color[] colors= {Color.black,Color.blue,Color.cyan,
    Color.darkGray,Color.gray,Color.green,Color.lightGray,Color.magenta,
    Color.orange,Color.pink,Color.red,Color.white,Color.yellow};
  int m;
  static int times=0;
  Thread t;
  COval(int m) {
    this.m=m;
    t=new Thread(this);
    t.start();
  }
  public void run() {
    try {
      while(true) {
        times=(int)(Math.random()*13);
        t.sleep(m);
        repaint();
      }
    }
    catch (InterruptedException IE) {}
  }
  protected void paintComponent(Graphics g) {
    super.paintComponents(g);
    g.setColor(colors[times]);
    g.fillOval(0,0,this.getSize().width,this.getSize().height);  
  }
}

class ColorOvals extends JFrame {
  ColorOvals(int n,int m) {
    JPanel JPMain;
    Container c=getContentPane();
    JPMain=new JPanel(new GridLayout(n,n));
    for(int i=0;i<n *n;i++)
      JPMain.add(new COval(m));
    c.add(JPMain,BorderLayout.CENTER);
    setSize(300,200);
    setTitle("ColorOvals");
    setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  public static void main(String args[]) {
    int n,m;
    try {
      n=Integer.parseInt(args[0]);
      if (n&lt;2||n>12)
        n=3;
    }
    catch(Exception e) {
      n=3;
    }
    try {
      m=Integer.parseInt(args[1]);
      if (m&lt;50||m>2000)
        m=100;
    }
    catch(Exception e) {
      m=100;
    }
    new ColorOvals(n,m);
  }
}

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注