【问题标题】:JavaFX: Align Buttons inside ButtonBar (using SceneBuilder or fxml)JavaFX:在 ButtonBar 内对齐按钮(使用 SceneBuilder 或 fxml)
【发布时间】:2015-12-02 07:28:53
【问题描述】:

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

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

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

ButtonBar.setButtonData(newButton, ButtonData.LEFT);

但是

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

我的 .fxml 文件目前如下所示:

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

* 我在 Windows 上
** This answer 不是我想要的,因为他正在使用 ToolBar,但我想知道如何使用 ButtonBar 来做到这一点(而且他的方法不适用于 ButtonBar)

【问题讨论】:

    标签: java javafx javafx-8 fxml scenebuilder


    【解决方案1】:

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

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

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

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

    仍然

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

    【讨论】:

    • 在 SceneBuilder 中,您可以更改 ButtonBarButtonOrder 属性。如果您将U+ 放在开头而不是中间,则所有未知按钮都将左对齐。但是我还没有找到按按钮执行此操作的方法;我的“左对齐”按钮似乎最终居中...... :(
    【解决方案2】:

    通过检查器,通常在 NetBeans 的右侧,您会找到“布局”选项卡。 打开它并滚动到“转换”部分。

    “平移 X”选项用于在 x 轴上调整按钮栏中的按钮。

    【讨论】:

      【解决方案3】:

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

      我刚刚找到它。

      【讨论】:

      • 改成什么?输入应该是什么?
      • 正数或负数。
      猜你喜欢
      • 2017-11-05
      • 2017-03-17
      • 2016-01-20
      • 2018-08-27
      • 1970-01-01
      • 2015-07-21
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多