如何在JavaFX工具栏中修改生成的HBox的间距?

如何在JavaFX工具栏中修改生成的HBox的间距?,java,javafx,Java,Javafx,如何使用FXML对生成的项进行更改 创建JavaFX工具栏时,会自动生成嵌套的HBox(或VBox)。例如,我想将生成的HBox的间距设置为0 <ToolBar fx:id="welcomeToolBar" prefHeight="50"> <items> <Button fx:id="closeButton" prefHeight="50" prefWidth="100" onAction="#closeWindo

如何使用FXML对生成的项进行更改

创建JavaFX工具栏时,会自动生成嵌套的HBox(或VBox)。例如,我想将生成的HBox的间距设置为0

 <ToolBar fx:id="welcomeToolBar" prefHeight="50">
        <items>
                <Button fx:id="closeButton" prefHeight="50" prefWidth="100" onAction="#closeWindow" text="Close" />
                <Button text="New Image" prefHeight="50" prefWidth="100" onAction="#newImage" styleClass="button-accent"/>
                <Pane HBox.hgrow="ALWAYS"/>
                <CheckBox text="Hide this window on application start"
                          fx:id="hideOnLoadCheckBox" onAction="#setVisibilityOnApplicationLoad"/>
        </items>
 </ToolBar>


使用CSS属性
-fx间距(使用类型)。您可以在单独的CSS文件中执行此操作,并链接该文件,或者使用
style
属性直接在FXML文件中执行此操作

示例FXML:


CSS示例:

。工具栏{
-外汇间距:0px;
}
之所以这样做,是因为
工具栏
类的默认外观为spacing1公开了一个
StyleableProperty。我在Scene Builder的“CSS分析器”和JavaFX9(和8)2源代码中找到了它(由于某些原因无法运行Scenet View)。但是,我找不到任何关于该房产的文件;即使是在美国


一,。默认皮肤(至少在JavaFX13中)公开的另一个未记录的可样式属性是
-fx alignment
,它接受
JavaFX.geometry.Pos
。这些属性分别应用于
HBox
VBox
,具体取决于工具栏的方向是水平还是垂直


二,。仍然存在于JavaFX13源代码中。

使用CSS属性
-fx间距(使用类型)。您可以在单独的CSS文件中执行此操作,并链接该文件,或者使用
style
属性直接在FXML文件中执行此操作

示例FXML:


CSS示例:

。工具栏{
-外汇间距:0px;
}
之所以这样做,是因为
工具栏
类的默认外观为spacing1公开了一个
StyleableProperty。我在Scene Builder的“CSS分析器”和JavaFX9(和8)2源代码中找到了它(由于某些原因无法运行Scenet View)。但是,我找不到任何关于该房产的文件;即使是在美国


一,。默认皮肤(至少在JavaFX13中)公开的另一个未记录的可样式属性是
-fx alignment
,它接受
JavaFX.geometry.Pos
。这些属性分别应用于
HBox
VBox
,具体取决于工具栏的方向是水平还是垂直


二,。仍然存在于JavaFX13源代码中。

您可能需要实现自己的
工具栏
。您可能需要实现自己的
工具栏
。哇,这太棒了!是的,当我查看JavaFX参考时,我肯定也没有看到任何参考。我很感激你走到这么好的地方哇,太棒了!是的,当我查看JavaFX参考时,我肯定也没有看到任何参考。我很感激你把这件事讲得这么详细