JavaFX:在 ButtonBar 内对齐按钮(使用 SceneBuilder 或 fxml)

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

我有一个带有两个按钮的 JavaFX ButtonBar(通过 SceneBuilder 创建)。

我希望其中一个按钮左对齐,另一个按钮右对齐。 (见截图)

从文档中我已经知道如何在 java-源代码中实现这一点:

ButtonBar.setButtonData(newButton, ButtonData.LEFT);

但是

我想知道如何实现这一点而不必将其写入我的 java-files 但
我如何仅使用 SceneBuilder 或相应的 fxml 来实现这一点文件.

我的 .fxml 文件目前看起来像这样:

<ButtonBar>
  <buttons>
    <Button text="New" />
    <Button text="Save" />
  </buttons>
</ButtonBar>

* 我在 Windows
** This answer不是我想要的,因为他用的是ToolBar,但是我想知道如何用ButtonBar来实现(他的方法对ButtonBar不起作用)

经过反复试验,我至少找到了一种通过 .fxml 文件直接执行此操作的方法:

您可以为 Button 元素分配 ButtonBar.buttonData 属性,然后为它们分配一个值。

<ButtonBar>
  <buttons>
    <Button text="New" ButtonBar.buttonData="LEFT" />
    <Button text="Save" ButtonBar.buttonData="RIGHT" />
  </buttons>
</ButtonBar>

ButtonBar.ButtonData enum 的文档非常简单明了。所以我用“LEFT”和“RIGHT”枚举值找到了我的问题的解决方案。

仍然

如果有人knows/finds知道如何直接在 SceneBuilder 中执行此操作,我将不胜感激!

Scene Builder右侧按钮的Layout选项卡中有“Transforms”属性。更改“翻译 X”。 (按钮的位置会水平变化。) “Translate Y”将垂直改变按钮的位置。 您需要先计算位置。

刚找到。

通过检查器,通常在 NetBeans 的右侧,您会找到选项卡 "Layout"。 打开它并滚动到 "Transform" 部分。

选项"Translate X"用于在x轴调整按钮栏中的按钮。