Как я могу привязать высоту ScrollPane к нижней части BorderPane? - PullRequest
0 голосов
/ 09 июня 2019

В данный момент я работаю над простой игрой, где у вас есть доска (MapView) и другие компоненты, такие как чат, каждый из которых имеет свой собственный MVP.

Теперь я попытался внедрить свою доску в ScrollPane, без перемещения по ней путем перетаскивания мышью.

Проблема в том, что когда я изменяю размер окна, оно скрывает часть ScrollPane, и я не могу видеть все доски внутри него, когда прокручиваю.

Это цель:

screenshot 1

Вот что сейчас происходит:

Screenshot 2


Я уже пробовал Слушатели, переставляя эти панели, различные панели и т. Д. И т. Д.

FXML:

<BorderPane fx:id="borderPane" stylesheets="@../style.css" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.172-ea">
    <top>
        <ToolBar>
            <Button fx:id="rulesButton" prefHeight="40.0" prefWidth="100.0" text="Rules"/>
            <Button fx:id="optionsButton" prefHeight="40.0" prefWidth="100.0" text="Options"/>
            <Button fx:id="exitButton" prefHeight="40.0" prefWidth="100.0" text="Exit"/>
            <HBox HBox.hgrow="ALWAYS"/>
            <ImageView fitHeight="100" fitWidth="100" pickOnBounds="true" preserveRatio="true">
                <Image url="@../neues_Logo.png"/>
            </ImageView>
        </ToolBar>
    </top>
    <center>
        <StackPane>
            <GridPane fx:id="gridPane">
                <Pane minWidth="3" GridPane.columnIndex="0"/>
                <Label fx:id="field" text="Field"
                       GridPane.columnIndex="1"
                       GridPane.rowIndex="0">
                    <font>
                        <Font name="System Bold" size="18.0"/>
                    </font>
                </Label>

                <ScrollPane fx:id="scrollPane" pannable="true"
                            maxWidth="1027" maxHeight="776" GridPane.rowIndex="1" GridPane.columnIndex="1">
                    <MapView fx:id="MapView" maxWidth="1027" maxHeight="776"/>
                </ScrollPane>

                <Pane minWidth="5" GridPane.columnIndex="2"/>
         </StackPane>
    </center>
</BorderPane>

Я использую MVP для остальных, которые в настоящее время используют только соединение с ScrollPane, чтобы скрыть полосы прокрутки.

Я ожидаю, что решение будет очень очевидным, я просто не вижу его прямо сейчас и искал часы, просматривая все, что я мог найти в Интернете.

...