java画一个慢慢变大的圆

来源:百度知道 编辑:UC知道 时间:2024/06/23 21:24:10
有个画圆的题目。。
圆心随机,颜色随机,半径逐渐变大到一定大小(例如面板的边框),又重新开始画圆。
用到线程。

import java.awt.BorderLayout;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Circle {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 500);
CirclePanel cp = new CirclePanel();
frame.add(cp, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
new Thread(cp).start();
}
}

class CirclePanel extends JPanel implements Runnable {
int r=0;
public void run() {
while (true) {
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
ex.printStackTrace();
System.exit(1);
}
int w = getWidth();
int h = getHeight();
int