HOWTO · Java

Comment dessiner un rectangle dans JavaFX

Ce tutoriel montre comment dessiner un rectangle dans JavaFX.

Sur cette page

Avec JavaFX, créez un Rectangle, définissez sa position, ses dimensions, son remplissage et son contour, puis ajoutez-le à une Scene affichée par un Stage. La forme utilise le système de coordonnées de la scène, dont l’origine se trouve en haut à gauche. Les appels JavaFX et les noms de propriétés ci-dessous montrent la configuration à utiliser dans un projet JavaFX. L’environnement d’exécution Java configuré ne comprend pas JavaFX ; l’application graphique de cet exemple ne peut donc pas y être compilée ni exécutée.

Dessiner un rectangle avec JavaFX

La classe Rectangle appartient au package javafx.scene.shape. Ses propriétés x et y définissent le coin supérieur gauche, tandis que width et height indiquent ses dimensions. Ces propriétés acceptent des valeurs de type double. Une scène de 800 sur 400 unités peut contenir un rectangle placé en (200, 100), d’une largeur de 400 et d’une hauteur de 200.

Propriété Accesseur Description
x setX(double) Position horizontale du coin supérieur gauche.
y setY(double) Position verticale du coin supérieur gauche.
width setWidth(double) Largeur du rectangle.
height setHeight(double) Hauteur du rectangle.
arcWidth setArcWidth(double) Diamètre horizontal utilisé pour arrondir les coins.
arcHeight setArcHeight(double) Diamètre vertical utilisé pour arrondir les coins.

La version JavaFX utilise rectangle.setX(200), rectangle.setY(100), rectangle.setWidth(400) et rectangle.setHeight(200). Définissez le remplissage avec rectangle.setFill(Color.BLUE) et le contour avec rectangle.setStroke(Color.LIGHTBLUE) ; rectangle.setStrokeWidth(8) règle l’épaisseur du contour. Ajoutez la forme à un Group, créez une Scene avec les dimensions et l’arrière-plan souhaités, affectez cette scène à un Stage, puis appelez stage.show() dans la méthode start de l’application. La classe étend Application et sa méthode main appelle launch(args). Pour exécuter cette version, utilisez un projet JavaFX dont la configuration de compilation ou de lancement rend les modules JavaFX disponibles.

Le programme Java2D exécutable ci-dessous dessine la même forme dans une image en mémoire et indique la couleur du pixel échantillonné. Il illustre la position et les dimensions indépendamment de JavaFX ; il n’exécute ni n’affiche de scène JavaFX.

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

public class DrawRectangle {
    public static void main(String[] args) {
        System.setProperty("java.awt.headless", "true");
        BufferedImage image = new BufferedImage(800, 400, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics = image.createGraphics();
        graphics.setColor(Color.BLUE);
        graphics.fillRect(200, 100, 400, 200);
        graphics.dispose();

        Color sample = new Color(image.getRGB(250, 150));
        System.out.printf("Rectangle: x=%d, y=%d, width=%d, height=%d%n", 200, 100, 400, 200);
        System.out.printf("Sample fill: #%02X%02X%02X%n", sample.getRed(), sample.getGreen(), sample.getBlue());
    }
}
Rectangle: x=200, y=100, width=400, height=200
Sample fill: #0000FF

Pour arrondir la forme JavaFX, définissez les deux propriétés d’arc après ses dimensions : rectangle.setArcWidth(40) et rectangle.setArcHeight(40). setArcWidth règle le diamètre horizontal de la courbure, tandis que setArcHeight en règle le diamètre vertical. Des valeurs égales produisent des coins arrondis de façon uniforme ; des valeurs différentes donnent une courbure allongée. Ces réglages modifient les coins sans changer la position, les dimensions générales, le remplissage ni le contour du rectangle.