我有一个包装在StackPane中的ImageView,它已添加到SplitPane的顶部。当我移动SplitPane的分隔线时,我希望ImageView能够调整大小以适合分配的空间,同时还要保留ImageView的尺寸比例。我尝试使用以下代码段实现此目的:
Platform.runLater(() -> {
image.fitHeightProperty().bind(stackpane.heightProperty());
image.fitWidthProperty().bind(stackpane.widthProperty());
image.setPreserveRatio(true);
});
但是,这样做的问题是ImageView只会增长,而不会缩小。我怎样才能解决这个问题?
最佳答案
谜团已揭开!解决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);
});
关于java - 在SplitPane中调整ImageView的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47140754/