温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - JavaFX
java javafx borderpane

java - JavaFX

发布于 2020-03-27 11:23:44

我具有以下JavaFX FXML结构:

<BorderPane fx:id="mainWindow" prefHeight="500.0" prefWidth="800.0" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml/1">

    <stylesheets>
        <URL value="@mainwindow.css"/>
    </stylesheets>

    <top>
        <fx:include fx:id="buttonPanel" source="/com/example/app/chart/buttons/buttonPanel.fxml" />
    </top>
    <center>
        <BorderPane fx:id="chartContainer">
            <center>
                <fx:include fx:id="chartPanel" source="/com/example/app/chart/chartpanel/chartPanel.fxml" />
            </center>
            <right>
                <fx:include fx:id="rightAxisPanel" source="/com/example/app/chart/rightaxis/rightAxisPanel.fxml" />
            </right>
        </BorderPane>
    </center>

</BorderPane>

作为chartPanelrightAxisPanel

<AnchorPane fx:id="chartPanel" styleClass="chartPanelClass" xmlns:fx="http://javafx.com/fxml/1">
    <stylesheets>
        <URL value="@chartpanel.css"/>
    </stylesheets>
</AnchorPane>

<AnchorPane fx:id="rightAxisPanel" prefWidth="100.0" minWidth="100.0" styleClass="rightAxisPanelClass" xmlns:fx="http://javafx.com/fxml/1">
    <stylesheets>
        <URL value="@rightaxispanel.css"/>
    </stylesheets>
</AnchorPane>

生成下图:

图片1

到目前为止,一切都很好。

但是,如果我减小窗口的大小,则右边的面板将被截断-请查看对应于rigthAxisPanel的黄色区域是如何被截断的-。

如何使中央面板被截断?

在此处输入图片说明

查看更多

查看更多

提问者
M.E.
被浏览
93
fabian 2019-07-03 23:51

中心的最小宽度AnchorPane可防止其收缩。将该值设置为0以确保允许缩小。

此外,您应将应用于clipAnchorPane以避免其内容显示在其右边界的右边。如果您在右侧使用了(一半)透明背景,请更改,viewOrder或者在外部放置一个右侧节点,则会发生这种情况BorderPane

<AnchorPane fx:id="chartPanel" styleClass="chartPanelClass" xmlns:fx="http://javafx.com/fxml/1" minWidth="0">
    <stylesheets>
        <URL value="@chartpanel.css"/>
    </stylesheets>
    <clip>
        <Rectangle width="${chartPanel.width}" height="${chartPanel.height}"/>
    </clip>
</AnchorPane>