如何用java画随机圆
使用Java绘制随机圆的方法
要在Java中绘制随机圆,可以使用java.awt和javax.swing库中的图形功能。以下是实现随机圆的详细方法:
创建JFrame窗口
使用JFrame创建一个窗口,用于显示绘制的圆。设置窗口的标题、大小和关闭操作。
import javax.swing.JFrame;
JFrame frame = new JFrame("随机圆");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
自定义绘制面板
创建一个继承JPanel的自定义面板类,重写paintComponent方法以实现绘制逻辑。
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;
import java.util.Random;
class RandomCirclePanel extends JPanel {
private Random random = new Random();
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
drawRandomCircles(g);
}
private void drawRandomCircles(Graphics g) {
int width = getWidth();
int height = getHeight();
for (int i = 0; i < 10; i++) {
int x = random.nextInt(width - 50);
int y = random.nextInt(height - 50);
int diameter = random.nextInt(100) + 20;
Color color = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256));
g.setColor(color);
g.fillOval(x, y, diameter, diameter);
}
}
}
添加面板到窗口并显示
将自定义面板添加到JFrame中,并设置窗口可见。
frame.add(new RandomCirclePanel());
frame.setVisible(true);
完整代码示例
将上述部分组合成一个完整的可运行程序:

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;
import java.util.Random;
public class RandomCircles {
public static void main(String[] args) {
JFrame frame = new JFrame("随机圆");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new RandomCirclePanel());
frame.setVisible(true);
}
}
class RandomCirclePanel extends JPanel {
private Random random = new Random();
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
drawRandomCircles(g);
}
private void drawRandomCircles(Graphics g) {
int width = getWidth();
int height = getHeight();
for (int i = 0; i < 10; i++) {
int x = random.nextInt(width - 50);
int y = random.nextInt(height - 50);
int diameter = random.nextInt(100) + 20;
Color color = new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256));
g.setColor(color);
g.fillOval(x, y, diameter, diameter);
}
}
}
代码说明
RandomCirclePanel类负责绘制随机圆,每次调用paintComponent时会绘制10个随机圆。- 圆的位置、大小和颜色都是随机生成的:
- 位置(x, y)确保圆不会超出面板边界。
- 直径范围在20到120像素之间。
- 颜色使用RGB值随机生成。
JFrame用于创建窗口,JPanel用于绘制图形。
运行程序后,会显示一个窗口,其中包含10个随机位置、大小和颜色的圆。






