Newer
Older
package shape;
import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class App extends Application {
public static void main(String[] args) {
launch(args); // Lance l'application JavaFX
}
@Override
public void start(Stage primaryStage) {
// Créer un groupe racine pour contenir le Canvas
// Créer un canvas sur lequel on va dessiner
Canvas canvas = new Canvas(300, 300);
GraphicsContext graphicsContext = canvas.getGraphicsContext2D();
// Créer un ShapeContainer pour stocker les formes
// Ajouter des formes et appliquer des décorateurs
Shape polygon = new Polygon(Color.BLUE, new Point2D(50, 50), new Point2D(100, 50), new Point2D(75, 100));
Shape decoratedPolygon = new BorderDecorator(polygon, 10); // Ajouter une bordure au polygone
Shape centerDecoratedPolygon = new CenterDecorator(decoratedPolygon, 5); // Ajouter un cercle au centre
// Ajouter la forme décorée au conteneur
shapeContainer.add(centerDecoratedPolygon);
// Dessiner toutes les formes dans le GraphicsContext
shapeContainer.draw(graphicsContext);
// Ajouter le canvas au groupe racine
root.getChildren().add(canvas);
// Créer une scène et l'ajouter à la fenêtre principale
Scene scene = new Scene(root, 300, 300);
primaryStage.setScene(scene);
primaryStage.setTitle("Dessin de Formes avec Décorateurs");
primaryStage.show(); // Afficher la fenêtre
}
}