我有一个带有一些按钮和一个滑块的Buttonbar(在SceneBuilder中):
目标
左侧的所有按钮,宽度均匀-小间距-滑块填充剩余宽度
->滑块需要使用fxml选择退出ButtonUniformSize
,我只找到了编程方式setButtonUniformSize
我也发现了这个问题:
JavaFX: Align Buttons inside ButtonBar (using SceneBuilder or fxml),但这是关于分别配置和对齐按钮的,我不想这样做。
在下面的屏幕快照中,您可以看到Orientation设置为LEFT_TO_RIGHT
,而我只是不明白为什么它从右向左对齐?
这是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>
最佳答案
看起来是缺少的功能。 Jfx Project bug tracker似乎与此无关。
代替
<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>
左对齐按钮。如果您打算以后使用均匀间隔的图标而不是使用文本作为按钮文本,则这特别有意义。