Я столкнулся с проблемой при разработке демонстрационной программы JavaFX для просмотра изображений как новичок. здесь у меня есть ImageView в центральной позиции BorderPane, которая обернута StackPane и VBox. где StackPane всегда растет с VBox, и я связываю ImageView со свойством StackPane Width и Height, чтобы мой ImageView изменил свои setFitHeight и Weight при изменении размера окна. он работает нормально, как я хочу, но проблема в том, когда окно изменено с максимального размера изображения не изменить его высоту. Я обнаружил, что слушатель изменения высоты StackPane не вызывает.
Поэтому я решил эту проблему, чтобы заархивировать свою цель. Это какая-то ошибка JavaFX или мои нехватки знаний?
вот мой код fxml для просмотра изображений:
<center>
<VBox fx:id="imageVBox" alignment="CENTER" BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<StackPane fx:id="stackPane" VBox.vgrow="ALWAYS">
<ImageView fx:id="imageView" fitHeight="250.0" fitWidth="300.0" nodeOrientation="INHERIT" onDragDropped="#getDragImage" onDragOver="#dragOver" pickOnBounds="true" preserveRatio="true" StackPane.alignment="CENTER">
<viewport>
<Rectangle2D />
</viewport>
</ImageView>
</StackPane>
</VBox>
мой код Java, который связывает ImageView с StackPane:
imageView.fitWidthProperty().bind(stackPane.widthProperty());
imageView.fitHeightProperty().bind(stackPane.heightProperty());
проблема, с которой я столкнулся:
- окно моей программы при запуске
![my program window when i run it](https://s20.postimg.cc/vjrtqywzd/image.png)
- развернуть окно
![maximize window](https://s20.postimg.cc/6dqvk5ya1/image.png)
- когда я изменяю его размер по умолчанию, возникла проблема, изображение не изменяется, как ожидалось
![when i resize it to default the problem occured, image don't resize as expected](https://s20.postimg.cc/5bgp1lsbd/image.png)