2017-01-03 1 views
0

J'apprends JavaFX et j'ai essayé SceneBuilder. Mais je me demande pourquoi ScreenBuilder gère Rows et Columns en ajoutant le code suivant.Pourquoi JavaFX SceneBuilder m'a forcé à ajouter du code supplémentaire pour GridPane

<columnConstraints> 
     <ColumnConstraints /> 
    </columnConstraints> 
    <rowConstraints> 
     <RowConstraints /> 
    </rowConstraints> 

Je sais que c'est juste une colonne et une rangée. Mais dans le codage, je n'ai pas ajouté un tel code et GridPane fonctionne très bien, et même des exemples officiels d'Oracle gèrent également GridPane sans créer rows et columns en externe et en utilisant seulement rowIndex, columnIndex.

Alors pourquoi SceneBuilder ajoute-t-il de telles lignes? existe-t-il une alternative à SceneBuilder dans JavaFx?

+0

Ces balises sont simplement les balises parentes pour où les définitions de colonnes et de lignes iront si elles sont autre chose que les propriétés par défaut – Chris

Répondre

0

Les <columnConstraints></columnConstraints> sont où les définitions pour chaque ligne et colonne vont. La ligne <ColumnConstraints /> est simplement une colonne sans propriétés supplémentaires.

Par exemple:

<columnConstraints> 
    <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> 
</columnConstraints> 
<rowConstraints> 
    <RowConstriants /> 
</rowContraints> 
+0

je le sais déjà. Je demande pourquoi SceneBuilder génère ce code inutile si je travaille avec GridPane? –

+0

Ça ne fait rien. Ils ont probablement juste une boucle qui imprime toutes les contraintes de la colonne et y place les tags indépendamment. De cette façon, s'il y a des changements, ils ne les manquent pas – Chris