Inclure un composant (extends Parent) dans un GripPane
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:
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:
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 :
Citation:
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.