Cómo dibujar círculos casuales en el grano

Aquí está el programa que dibuja círculos casuales en la pantalla con el lenguaje JAVA

Aquí está el programa que dibuja círculos casuales en la pantalla con el lenguaje JAVA

package disegno;
import java.awt.*; import javax.swing.*;
public class Tela extends JPanel{

public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackground(Color.WHITE);
g.setColor(Color.BLACK);
DisegnaCerchiA_Caso(3,10000,g);

}

public void DisegnaCerchiA_Caso(int raggio,int numeroCerchi,Graphics g)
{ int x,y;
int numero=0;

while(numeroCerchi>0)
{
x=(int)(Math.random()*1000); y=(int)(Math.random()*1000);
g.setColor(Color.BLACK);
if (IsPrime(numero)==1)
{ g.setColor(Color.RED);
g.drawOval(x, y, raggio, raggio);
}
else
{
g.drawOval(x, y, raggio, raggio);

}
numero++;
numeroCerchi–;
}

}
public int IsPrime (int n)
{ int primo=1;
int fattore=2;
boolean exit=false;
if (n==1)
{exit=true;
primo=0;}
while(fattore<=n/2 && !exit)
{
if (n%fattore==0)
{ primo=0;
exit=true;
}
fattore ++;
}
return primo;
}

}

Y aquí está el resultado. En rojo he resaltado los números primos. Raros entre 0 y 10000.

Aquí está el archivo donde encontrarás el main:

package disegno;
import javax.swing.*;
public class Disegno {
public static void main(String[] args) {
JFrame t= new JFrame("Grafica Iterativa");
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Tela p = new Tela(); t.add(p); t.setSize(1000, 1000); t.setVisible(true);

}
}

Para poner en funcionamiento el código, sigue el siguiente video