我有一个包装在StackPane中的ImageView,它被添加到SplitPane的顶部。当我移动SplitPane的分隔符时,我希望ImageView调整大小以适应分配的空间,同时还保留ImageView的大小比例。我试图通过以下代码片段实现此目的:
Platform.runLater(() -> {
image.fitHeightProperty().bind(stackpane.heightProperty());
image.fitWidthProperty().bind(stackpane.widthProperty());
image.setPreserveRatio(true);
});
然而,问题在于ImageView只会增长,但不会缩小。我该如何解决这个问题?
答案 0 :(得分:0)
神秘解决了!使用SplitPane的分频器绑定似乎是解决方案。它并不完美,因为有时图像不会与顶部/底部或左/右边缘齐平,具体取决于舞台的宽度/高度,但它可以完成工作。
Platform.runLater(() -> {
image.fitWidthProperty().bind(splitPane.getDividers().get(0).positionProperty().multiply(splitPane.widthProperty()));
image.fitHeightProperty().bind(splitPane.getDividers().get(0).positionProperty().multiply(splitPane.heightProperty()));
imgWebCamCapturedImage.setPreserveRatio(true);
});