Forked from
SAYEH Nahlane ghina / graphic-2020..
5 commits ahead of the upstream repository.
-
SAYEH Nahlane ghina authored
creation de AbstractShape creation de Polygon,BorderDecorator et CenterDecorator
SAYEH Nahlane ghina authoredcreation de AbstractShape creation de Polygon,BorderDecorator et CenterDecorator
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
App.java 1.81 KiB
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
Group root = new Group();
// 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
ShapeContainer shapeContainer = new ShapeContainer();
// 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
}
}