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.