Java 如何将ImageView锚定到其边框窗格区域的中心?

Java 如何将ImageView锚定到其边框窗格区域的中心?,java,javafx,fxml,Java,Javafx,Fxml,我有一个带有ImageView的BorderPane布局,如下所示,但ImageView始终固定在左上角,并在调整窗口大小时保持不变。我想将ImageView保持在它绑定到的部分的中心(红色框)。使用FXML可以这样做吗 FXML: <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import javafx.scene.Group?> <?impor

我有一个带有ImageView的BorderPane布局,如下所示,但ImageView始终固定在左上角,并在调整窗口大小时保持不变。我想将ImageView保持在它绑定到的部分的中心(红色框)。使用FXML可以这样做吗

FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.Group?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.*?>

<VBox prefWidth="800.0" prefHeight="600.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">

    <BorderPane xmlns:fx="http://javafx.com/fxml" VBox.vgrow="ALWAYS">
        <top>
            <VBox alignment="TOP_CENTER">
                <ToolBar minHeight="50.0" prefHeight="50.0" prefWidth="800.0" stylesheets="@../css/style.css"
                         GridPane.rowIndex="1">
                    <ImageView fitHeight="35.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true">
                        <Image url="@../images/toolbar-logo.png"/>
                    </ImageView>
                </ToolBar>
                <MenuBar fx:id="menuBar" prefHeight="0.0" prefWidth="0.0"/>
            </VBox>
        </top>

        <left>
            <StackPane prefWidth="230.0" prefHeight="800.0">
                <ListView fx:id="listView"/>
            </StackPane>
        </left>

        <center>
            <StackPane>
                <ScrollPane>
                    <Group fx:id="selectionGroup">
                        <ImageView fx:id="mainImageView"/>
                    </Group>
                </ScrollPane>
            </StackPane>
        </center>

        <right>
            <TextField promptText="Text"  />
        </right>
    </BorderPane>

</VBox>

更改:

        <StackPane>
            <ScrollPane>
                <Group fx:id="selectionGroup">
                    <ImageView fx:id="mainImageView"/>
                </Group>
            </ScrollPane>
        </StackPane>

致:



您可能需要调整
fitWidth
fitHeight
属性。

如果您删除
滚动窗格
并将
图像视图
直接放在“StackPane”中,您的问题应该得到解决您似乎发布了很多相当简单的内容(对于具有您声誉级别的人而言)关于布局的问题。只需阅读基本内容,就可以很快给出答案。@James\D谢谢,我只是觉得XML/FXML对于一般布局来说相当可怕。我会查出来的。@SedrickJefferson移除了
滚动窗格
,成功了。这会将图像移动到堆栈窗格的绝对中心,但会破坏之前与滚动窗格/组组合相关的功能。在不改变这些元素的情况下,有什么方法可以做到这一点吗?什么功能?
        <StackPane>
            <children>
                <ImageView fx:id="mainImageView" fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true" />                    
            </children>
        </StackPane>