import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.beans.*;
public class Yuan{
public static void main(String[] args)
{
MyFrame my=new MyFrame();
my.setVisible(true); 显示
}
}
class MyFrame extends javax.swing.JFrame
{
MyFrame()
{
this.setTitle("变色圆圈");
this.setSize(500,500); // 窗体的大小
mp=new Mypanel(); //实例化一个panel
this.add(mp); //加载panel
clock.start();
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
}
private Mypanel mp;
javax.swing.Timer clock=new javax.swing.Timer(1000,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
mp.repaint();
}
});
}
class Mypanel extends javax.swing.JPanel
{
public void paintComponent(Graphics g) // g是个参数,用g调用Graphics里的方法
{
int begin,end;
begin=0;
while(begin!=360)
{
//Color(int, int, int)
//用指定的红、绿和兰色成分创建一个颜色。
Color c=new Color((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255));
g.setColor(Color.red);
//drawArc(int, int, int, int, int, int)
//绘制一个覆盖指定矩形的圆或椭圆弧的轮廓
g.drawArc(150,150,200,200,begin,36);
g.setColor(c);
//fillArc(int, int, int, int, int, int)
//填充一个覆盖了指定矩形的圆或椭圆弧。
g.fillArc(150,150,200,200,begin,36);
begin+=36;
}
}
}