# How to Create Square in JavaFX

Sheeraz Gul Feb 02, 2024

A square has all the sides equal to each other; we can use the `Rectangle` functionality in JavaFX to create a square. This tutorial demonstrates how to create a square in JavaFX.

## Create a Square in JavaFX

The `Rectangle` functionality creates four side shapes in JavaFX. The Rectangle class belongs to `JavaFX.scene.shape`.

We can instantiate the `Rectangle` class and create Rectangle Node in JavaFX.

The syntax for rectangle and its properties:

``````Rectangle rectangle = new Rectangle(x, y, width, height);

setX(value of x);
setY(value of y);
setWidth(width);
setHeight(height);
``````

The `Rectangle` class has four basic properties:

• `x`: This is the x coordinate of the start point of the rectangle.
• `y`: This is the y coordinate of the start point of the rectangle.
• `width`: Width of the rectangle.
• `height`: Height of the rectangle.

To draw a square in JavaFX, do the following steps.

• ##### Display the stage using the `show` method and launch the application.

Let’s try to implement an example based on the above steps.

Example Code:

``````package delftstack;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class JavaFX_Square extends Application {
@Override
public void start(Stage Demo_Stage) {
Rectangle Square = new Rectangle();

Square.setX(150.0f);
Square.setY(150.0f);
Square.setWidth(300.0f);
Square.setHeight(300.0f);

Group Demo_Root = new Group(Square);
Scene Demo_Scene = new Scene(Demo_Root, 600, 600);
Demo_Stage.setTitle("Drawing Sqaure");
Demo_Stage.setScene(Demo_Scene);
Demo_Stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
``````

In this JavaFX code, we first define a package called `delftstack` and import necessary JavaFX classes. The main class, `JavaFX_Square`, extends the `Application` class and overrides the `start()` method, serving as the entry point for the JavaFX application.

Inside this method, a `Rectangle` object named `Square` is instantiated to represent the square, and its properties, such as position and size, are set. A `Group` object, `Demo_Root`, is created to hold the square, allowing multiple objects to be treated as a single unit.

Subsequently, a `Scene` object, `Demo_Scene`, is formed with a specified `width` and `height` associated with the root group. The title of the stage, representing the top-level container, is set to `Drawing Square`.

The created scene is then assigned to the stage, and the stage is displayed, presenting the square on the screen. The program’s entry point is the `main()` method, where the JavaFX application is launched by invoking the `launch()` method with command-line arguments.

Output:

In the output, we see a circle with a `height` of `300px` and a `width` of `300px`.

## Create a Square in JavaFX With Round Corners

Let’s try to create a square with round corners. For round corners, we use the properties `setArcHeight()` and `setArcWidth()`.

Example Code:

``````package delftstack;

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

public class JavaFX_Square extends Application {
@Override
public void start(Stage Demo_Stage) {
Rectangle Square = new Rectangle();

Square.setX(150.0f);
Square.setY(150.0f);
Square.setWidth(300.0f);
Square.setHeight(300.0f);
Square.setArcHeight(35);
Square.setArcWidth(35);
Square.setFill(Color.LIGHTBLUE);

Group Demo_Root = new Group(Square);
Scene Demo_Scene = new Scene(Demo_Root, 600, 600);
Demo_Stage.setTitle("Drawing Sqaure");
Demo_Stage.setScene(Demo_Scene);
Demo_Stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
``````

In this JavaFX code, we start by defining a package, importing necessary JavaFX classes, and creating a class named `JavaFX_Square` that extends the `Application` class. Within the overridden `start()` method, we instantiate a `Rectangle` object, representing the square, and set its properties such as position, size, rounded corners, and fill color.

We then create a `Group` named `Demo_Root` to encapsulate the square, facilitating the collective treatment of multiple objects. A `Scene`, `Demo_Scene`, is formed with specified dimensions and associated with the root group.

The stage’s title is set to `"Drawing Square"`, and the scene is displayed, showcasing the styled square. The entry point of the program is the `main()` method, where we launch the JavaFX application.

Output:

In the output, it shows a round corner square with a `height` and `width` of `300px`.

## Conclusion

In conclusion, this JavaFX tutorial demonstrates the creation of a square using the `Rectangle` functionality. The code involves defining a package, importing JavaFX classes, and extending the `Application` class to implement the square drawing.

The process includes setting properties such as position, size, and, optionally, rounded corners. The square is encapsulated in a `Group` and associated with a `Scene` for display.

The title of the stage is set, and the application is launched. Two examples are provided: one for a standard square and another for a square with rounded corners.

Author: Sheeraz Gul

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.