Para fazer 9 raios, você precisa saber quantos graus separam cada raio: 360 / 9 = 40 graus
Quando você manipula gráficos 2D, é comum precisar calcular as coordenadas X e Y a medida que quer fazer transformações, no seu caso essa transformação será a rotação.
Você vai desenhar linhas do centro até a borda do circulo, então vamos dizer que você vai desenhar a primeira linha no ângulo 0.
Você sabe qual é o centro é x=250 e y=250
Então o primeiro raio é só desenhar a linha A(250, 250) B(500, 250)
O seu ponto A sempre vai ser (250, 250), pois é o centro, você agora vai variar o ponto B que no momento é (500, 250)
Agora pra calcular os outro 8 raios, é fácil, lembre-se, x é cosseno e y é seno
Exemplo:
public class Exemplo extends JFrame {
public static void main(String[] args) {
try {
Exemplo programa = new Exemplo();
programa.executar();
} catch (Throwable t) {
t.printStackTrace();
}
}
private Exemplo() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container container = getContentPane();
container.setLayout(new BorderLayout());
container.add(new JPanel() {
@Override
protected void paintComponent(Graphics g) {
desenhar(g);
}
}, BorderLayout.CENTER);
}
private void executar() {
setSize(640, 640);
setLocationRelativeTo(null);
setVisible(true);
}
private void desenhar(Graphics g) {
int raios = 9; // é só alterar essa variável pra desenhar mais ou menos raios
int separacao = 360 / raios;
int centroX = 250;
int centroY = 250;
int raio = 250;
// circulo
g.drawOval(0, 0, raio * 2, raio * 2);
Point a = new Point(centroX, centroY);
Point b = new Point(centroX + raio, centroY);
// primeiro raio
g.drawLine(a.x, a.y, b.x, b.y);
int graus = separacao;
for (int i = 1; i < raios; i++) {
double rads = Math.toRadians(graus);
b.x = (int) (Math.cos(rads) * raio);
b.y = (int) (Math.sin(rads) * raio);
// raio seguinte
g.drawLine(a.x, a.y, centroX + b.x, centroY - b.y);
graus += separacao;
}
}
}