JavaFX按钮栏布局-方向和空间分布
我有一个带有一些按钮和滑块的按钮栏(在SceneBuilder中): 目标 左侧所有按钮,宽度均匀-间距小-滑块填充剩余宽度 ->Slider需要选择退出使用fxml的JavaFX按钮栏布局-方向和空间分布,java,javafx,fxml,scenebuilder,Java,Javafx,Fxml,Scenebuilder,我有一个带有一些按钮和滑块的按钮栏(在SceneBuilder中): 目标 左侧所有按钮,宽度均匀-间距小-滑块填充剩余宽度 ->Slider需要选择退出使用fxml的ButtonUniformSize,我只找到了编程方式setButtonUniformSize 我还发现了这个问题: 但这是关于单独配置和对齐按钮的,这是我不想要的 在下面的屏幕截图中,您可以看到方向设置为从左到右,我不明白为什么它从右到左对齐 这是SceneBuilder生成的代码的相关部分: <VBox prefHe
ButtonUniformSize
,我只找到了编程方式setButtonUniformSize
我还发现了这个问题:
但这是关于单独配置和对齐按钮的,这是我不想要的
在下面的屏幕截图中,您可以看到方向设置为从左到右,我不明白为什么它从右到左对齐
这是SceneBuilder生成的代码的相关部分:
<VBox prefHeight="600.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1">
<children>
<MenuBar VBox.vgrow="NEVER">
[...]
</MenuBar>
<ButtonBar buttonMinWidth="25.0" nodeOrientation="LEFT_TO_RIGHT" VBox.vgrow="NEVER">
<buttons>
<Button mnemonicParsing="false" styleClass="stop" />
<Button mnemonicParsing="false" styleClass="playPause" />
<Slider styleClass="volume" />
</buttons>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</ButtonBar>
<FolderView VBox.vgrow="ALWAYS" />
</children>
</VBox>
[...]
从外观上看,这是一项缺失的功能。政府似乎对此没有任何相关问题
而不是
<ButtonBar>
<buttons>
<Button text="Button A"/>
<Button text="Button B"/>
<Button text="Button C"/>
</buttons>
</ButtonBar>
简单地做一个
<HBox>
<Button text="Button A"/>
<Button text="Button B"/>
<Button text="Button C"/>
</HBox>
使按钮左对齐。如果您打算在以后为按钮文本使用等距图标而不是文本,这一点尤其有意义。看起来这是一个缺失的功能。政府似乎对此没有任何相关问题 而不是
<ButtonBar>
<buttons>
<Button text="Button A"/>
<Button text="Button B"/>
<Button text="Button C"/>
</buttons>
</ButtonBar>
简单地做一个
<HBox>
<Button text="Button A"/>
<Button text="Button B"/>
<Button text="Button C"/>
</HBox>
使按钮左对齐。如果您打算以后在按钮文本中使用等距图标而不是文本,这一点尤其有意义。是否有理由不将按钮放在按钮栏中,以及按钮栏和滑块放在
HBox
中?这样就很容易控制滑块的布局。我不明白您对节点定向的要求<代码>从左到右
是默认设置,您的控件按预期从左到右排列。是吗?为什么左边有空的地方?buttonbar的原因是我希望所有按钮的宽度相等,它默认为我想要的所有值,如垂直居中等。节点从左到右排列:首先是两个按钮,然后是滑块,按钮在滑块的左侧。左侧有空白,因为默认情况下它是右对齐的。这与节点方向无关。我不是建议移除按钮栏;只需将其用于按钮(而不是滑块)。调用setButtonUniformize
的“FXML方法”应该是
,但我不知道场景生成器是否有方法设置该属性。我看不到任何方法可以更改按钮栏的对齐方式,无论是在FXML还是在Java中。是否有理由不将按钮放在按钮栏中,以及按钮栏和滑块放在HBox
?这样就很容易控制滑块的布局。我不明白您对节点定向的要求<代码>从左到右
是默认设置,您的控件按预期从左到右排列。是吗?为什么左边有空的地方?buttonbar的原因是我希望所有按钮的宽度相等,它默认为我想要的所有值,如垂直居中等。节点从左到右排列:首先是两个按钮,然后是滑块,按钮在滑块的左侧。左侧有空白,因为默认情况下它是右对齐的。这与节点方向无关。我不是建议移除按钮栏;只需将其用于按钮(而不是滑块)。调用setButtonUniformSize
的“FXML方法”应该是
,但我不知道场景生成器是否有设置该属性的方法。在FXML或Java中,我看不到任何更改按钮栏对齐方式的方法