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() :
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
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(); }
Lorsque je compile, j'obtiens l'exception :
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); } }
Y a t'il une subtilité que je ne vois pas ?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
MErci pour vos réponse.
Partager