javafx - 如何在 fxml 中设置 BorderPane 的边距?

标签 javafx fxml

我正在尝试在 javafx 中运行此 fxml 代码:

<BorderPane fx:controller="com.bryantmorrill.chat.main.Controller"
      xmlns:fx="http://javafx.com/fxml" >

<center>
    <ScrollPane BorderPane.margin="25, 25, 25, 25">
        <content>
            <TextArea fx:id="chatArea" minWidth="200" maxWidth="450"
                      prefWidth="450" minHeight="200" prefHeight="400"
                      maxHeight="400"/>
        </content>
    </ScrollPane>
</center>

<bottom>
    <FlowPane BorderPane.margin="25, 25, 25, 25">
        <TextField fx:id="inputArea" minWidth="200" maxWidth="450" prefWidth="450"/>
        <Button text="Send" onAction="#sendMessage" minWidth="200" maxWidth="450" prefWidth="450"/>
    </FlowPane>

</bottom>

但是,当我尝试以这种方式设置边距时,它失败了:

<ScrollPane BorderPane.margin="25, 25, 25, 25">

我也试过这些方法:

<ScrollPane BorderPane.margin="25 25 25 25">
<ScrollPane BorderPane.margin="25">

这是我所有的异常(exception):
java.lang.IllegalArgumentException: Unable to coerce 25, 25, 25, 25 to class javafx.geometry.Insets.

这是我第一次使用 JavaFX,我找不到任何好的例子。谢谢你的帮助!

最佳答案

您需要将边距添加为 BorderPane 的子节点的子元素。 :

<center>
    <ScrollPane>
        <BorderPane.margin>
             <Insets bottom="25.0" left="25.0" right="25.0" top="25.0" />
        </BorderPane.margin>
        <content>
            <TextArea fx:id="chatArea" minWidth="200" maxWidth="450"
                      prefWidth="450" minHeight="200" prefHeight="400"
                      maxHeight="400"/>
        </content>
    </ScrollPane>
</center>
<bottom>
    <FlowPane>
        <BorderPane.margin>
             <Insets bottom="25.0" left="25.0" right="25.0" top="25.0" />
        </BorderPane.margin>
        <TextField fx:id="inputArea" minWidth="200" maxWidth="450" prefWidth="450"/>
        <Button text="Send" onAction="#sendMessage" minWidth="200" maxWidth="450" prefWidth="450"/>
    </FlowPane>
</bottom>

关于javafx - 如何在 fxml 中设置 BorderPane 的边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690197/

相关文章:

javafx : fxml: display elements twice

JavaFX 如何设置 FXML 文件的样式

java - TextFlow vs TextArea,布局问题;为什么 TextFlow 在 TextArea 没有的地方弄乱了它?

java - 编译 JavaFX 应用程序时出错

java - 无法在 WinXP 32 位上为 JavaFX 应用程序构建 native 包

java - 如何在 JavaFX 应用程序内部等待 JFrame 线程完成?

java - 如何发出和处理自定义事件?

JavaFX 在场景中嵌入场景

Java 代理 - 获取传出请求

JavaFX FXML-SceneBuilder-图像可调整大小