DrawStarsController.java
// DrawStarsController.java // Create a circle of stars using Polygons and Rotate transforms. import java.security.SecureRandom; import javafx.fxml.FXML; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Polygon; import javafx.scene.transform.Transform; public class DrawStarsController { @FXML private Pane pane; private static final SecureRandom random = new SecureRandom(); public void initialize() { // points that define a five-pointed star shape Double[] points = {205.0,150.0, 217.0,186.0, 259.0,186.0, 223.0,204.0, 233.0,246.0, 205.0,222.0, 177.0,246.0, 187.0,204.0, 151.0,186.0, 193.0,186.0}; // create 18 stars for (int count = 0; count < 18; ++count) { // create a new Polygon and copy existing points into it Polygon newStar = new Polygon(); newStar.getPoints().addAll(points); // create random Color and set as newStar's fill newStar.setStroke(Color.GREY); newStar.setFill(Color.rgb(random.nextInt(255), random.nextInt(255), random.nextInt(255), random.nextDouble())); // apply a rotation to the shape newStar.getTransforms().add( Transform.rotate(count * 20, 150, 150)); pane.getChildren().add(newStar); } } }
Maintained by John Loomis, updated Sat Feb 10 11:02:21 2018