Bonjour à tous,

Je travaille donc avec JavaFX et je souhaite utiliser un GridPane pour définir un "template" particulier : plutot simple puisqu'il divise simplement la scene en 4 (haut-gauche, bas-gauche, haut-droite, bas-droite).
Je ne parviens pas à insérer un composant (un classe qui étend Parent) dans une de case de ma GridPane :

Voici ma méthode start() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void start(Stage primaryStage) {
        Group root = new Group();
        Scene scene = new Scene(root, 1000, 600, Color.valueOf("#996739"));
 
        GridPane pane = new GridPane();
        pane.setHgap(20);
        pane.setVgap(20);
 
        AreaTopLeftGraphic areaGraphic = new AreaTopLeftGraphic();
        pane.add(pane, 0, 0);
 
        root.getChildren().add(pane);
 
        primaryStage.setScene(scene);
        primaryStage.show();
}
Et mon composant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public class AreaTopLeftGraphic extends Parent {
 
     Rectangle areaBG;
 
    public AreaTopLeftGraphic() {
        this.setLayoutX(20);    // a l'intérieur de la grid pane, il y aura une 
        this.setLayoutY(20);    // petite marge en haut et à gauche.
 
        areaBG = new Rectangle(480, 150, Color.BROWN);
        this.getChildren().add(areaBG);
    }
}
Lorsque je compile, j'obtiens l'exception :
java.lang.IllegalArgumentException: Children: cycle detected: parent = Grid hgap=20.0, vgap=20.0, alignment=TOP_LEFT, node = Grid hgap=20.0, vgap=20.0, alignment=TOP_LEFT
Y a t'il une subtilité que je ne vois pas ?
MErci pour vos réponse.