我有以下fxml片段:
<VBox fx:id="paneLeft"> <TextField promptText="Password"/> <Button fx:id="btnLogin" text="Login" maxWidth="10000"/> <Hyperlink text="Registration"/> </VBox>
解决方法
看来你不行JavaFX现在对CSS的支持有限.
However,the CSS padding and margins properties are supported on some
JavaFX scene graph objects.
官方的CSS参考指南说.所以解决方法可能是使用额外的其他布局,例如另一个VBox:
<VBox fx:id="paneLeft" spacing="10"> <VBox fx:id="innerPaneLeft"> <TextField promptText="Password"/> <Button fx:id="btnLogin" text="Login" maxWidth="10000"/> </VBox> <Hyperlink text="Registration"/> </VBox>
更新:
找到了一个更完美的方式,但仍然没有通过CSS.
<?import javafx.geometry.Insets?> <VBox fx:id="paneLeft"> <TextField promptText="Password"/> <Button fx:id="btnLogin" text="Login" maxWidth="10000"> <VBox.margin> <Insets> <bottom>10</bottom> </Insets> </VBox.margin> </Button> <Hyperlink text="Registration"/> </VBox>
这避免了定义不必要的额外布局.