在SplitPane中调整ImageView的大小

时间:2017-11-06 15:48:28

标签: java javafx

我有一个包装在StackPane中的ImageView,它被添加到SplitPane的顶部。当我移动SplitPane的分隔符时,我希望ImageView调整大小以适应分配的空间,同时还保留ImageView的大小比例。我试图通过以下代码片段实现此目的:

Platform.runLater(() -> {
        image.fitHeightProperty().bind(stackpane.heightProperty());
        image.fitWidthProperty().bind(stackpane.widthProperty());
        image.setPreserveRatio(true);
    });

然而,问题在于ImageView只会增长,但不会缩小。我该如何解决这个问题?

1 个答案:

答案 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);
});