JFallz JFallz - 1 year ago 63
Java Question

How to make star shape in Java?

I'm trying to make some shapes with java. I created two rectangles with two different colors but I want to create a star shape and I can't find useful source to help me doing this.

Here is my code:

import java.awt.*;
import javax.swing.*;

public class shapes extends JPanel{
public void paintComponent(Graphics GPHCS){



GPHCS.setColor(new Color(190,81,215));
GPHCS.drawString("This is my text", 25, 120);

Please help me to make a star shape.

Thank you..

Answer Source

You could try using a polygon and some basic math:

    int midX = 500;
    int midY = 340;
    int radius[] = {118,40,90,40};
    int nPoints = 16;
    int[] X = new int[nPoints];
    int[] Y = new int[nPoints];

    for (double current=0.0; current<nPoints; current++)
        int i = (int) current;
        double x = Math.cos(current*((2*Math.PI)/max))*radius[i % 4];
        double y = Math.sin(current*((2*Math.PI)/max))*radius[i % 4];

        X[i] = (int) x+midX;
        Y[i] = (int) y+midY;

    g.fillPolygon(X, Y, nPoints);