w3resource

JavaFX Spiral layout design

JavaFx Layout Management: Exercise-10 with Solution

Write a JavaFX application that implements a custom layout for arranging items in a spiral fashion.

Sample Solution:

JavaFx Code:

//Main.java

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Spiral Layout Example");
        Group root = new Group();
        Scene scene = new Scene(root, 600, 400, Color.WHITE);

        int numCircles = 100;
        double centerX = scene.getWidth() / 2;
        double centerY = scene.getHeight() / 2;
        double radius = 10;
        double angle = 0;
        double angleIncrement = 15;

        for (int i = 0; i < numCircles; i++) {
            double x = centerX + radius * Math.cos(Math.toRadians(angle));
            double y = centerY + radius * Math.sin(Math.toRadians(angle));

            Circle circle = new Circle(x, y, 5, Color.BLUE);
            root.getChildren().add(circle);

            radius += 10;
            angle += angleIncrement;
        }

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

In the exercise above, we use the 'Math.cos' and 'Math.sin' functions to calculate the x and y positions of each circle in a spiral pattern. The 'angle' variable is incremented to change the angle of placement, and the 'radius' is adjusted to control the spacing between circles.

Note: Adjust the values and parameters to create different spiral patterns.

Sample Output:

JavaFx: JavaFX Spiral layout design

Flowchart:

Flowchart: JavaFX Spiral layout design.

Java Code Editor:

Previous: JavaFX Circular layout design.
Next: JavaFX Honeycomb layout design.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/java-exercises/javafx/javafx-layout-management-exercise-10.php