JavaFX Buttonbar Layouting - 方向和空间分布

时间:2017-10-30 16:49:31

标签: java javafx fxml scenebuilder

我有一个Buttonbar,带有一些Buttons和一个Slider(在SceneBuilder中):

console.timeEnd()

目标

左侧的所有按钮,宽度均匀 - 间距小 - 滑块填充剩余宽度

- > Slider需要使用fxml选择退出ButtonUniformSize,我只找到了编程方式setButtonUniformSize

我也发现了这个问题: Buttonbar但它是关于单独配置和对齐按钮,这是我不想要的。

在下面的屏幕截图中,您可以看到“方向”设置为LEFT_TO_RIGHT,我无法理解为什么它从右到左对齐?

JavaFX: Align Buttons inside ButtonBar (using SceneBuilder or fxml)

这是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>

1 个答案:

答案 0 :(得分:0)

看起来它是缺少的功能。 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>

获得左对齐按钮。如果您打算以后使用均匀间隔的图标而不是使用文本作为按钮文本,则这特别有意义。