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

drk*_*hng 5 java javafx fxml scenebuilder javafx-8

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

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

在此输入图像描述

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

ButtonBar.setButtonData(newButton, ButtonData.LEFT);
Run Code Online (Sandbox Code Playgroud)

我想知道如何实现这一点而不必在我的java文件中写这个,但
我如何使用SceneBuilder或相应的fxml文件来实现这一点.

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

<ButtonBar>
  <buttons>
    <Button text="New" />
    <Button text="Save" />
  </buttons>
</ButtonBar>
Run Code Online (Sandbox Code Playgroud)

*我在Windows上
**这个答案不是我想要的,因为他正在使用ToolBar,但我想知道如何使用ButtonBar(并且他的方法不适用于ButtonBar)

drk*_*hng 17

经过一些试验和错误后,我发现至少有一种方法可以通过.fxml文件直接进行:

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

<ButtonBar>
  <buttons>
    <Button text="New" ButtonBar.buttonData="LEFT" />
    <Button text="Save" ButtonBar.buttonData="RIGHT" />
  </buttons>
</ButtonBar>
Run Code Online (Sandbox Code Playgroud)

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

仍然

如果有人知道/如何在SceneBuilder中直接找到这个,我将不胜感激!

  • 在 SceneBuilder 中,您可以更改“ButtonBar”的“ButtonOrder”属性。如果你把 `U+` 放在开头而不是中间,你所有的未知按钮都将左对齐。但是我还没有找到按按钮执行此操作的方法;我的“左对齐”按钮似乎最终居中...... :( (3认同)