gpt4 book ai didi

resize - 在保持宽高比的同时调整 JavaFX Windows 大小?

转载 作者:行者123 更新时间:2023-12-02 13:51:44 27 4
gpt4 key购买 nike

我有一扇 window ,我必须使其保持方形。我的代码是

 primaryStage.minHeightProperty().bind(scene.widthProperty());
primaryStage.minWidthProperty().bind(scene.heightProperty());

它在扩展时确实会调整正方形的大小,但当我尝试缩小它时遇到问题?有时一侧会比另一侧短一点或长一点。有解决办法吗?我当前使用的代码是否做错了什么?

最佳答案

这并不能直接回答你的问题,但我认为实际上是更好的用户体验,因为你不限制用户。不要固定舞台的纵横比,而是考虑使用插图来填充您想要保持正方形的内容:

private val DEF_PAD = 6.0
chart.paddingProperty.bind(boundValue(stage.widthProperty, stage.heightProperty) {
// Maintain a square plot with padding
val w = stage.getWidth
val h = stage.getHeight
val extra = DEF_PAD + 0.5 * Math.abs(w - h)
if (w > h) {
new Insets(DEF_PAD, extra, DEF_PAD, extra)
} else if (h > w) {
new Insets(extra, DEF_PAD, extra, DEF_PAD)
} else {
new Insets(DEF_PAD)
}
})

(用 Scala 编写。boundValue 只是一个使用可变参数依赖项列表创建绑定(bind)的实用程序)

关于resize - 在保持宽高比的同时调整 JavaFX Windows 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com