gpt4 book ai didi

Javafx HBox Hgrow(SOMETIMES)子滚动 Pane 节点如何获取宽度?

转载 作者:行者123 更新时间:2023-12-01 11:05:21 25 4
gpt4 key购买 nike

我目前有一个包含在 HBox 节点中的滚动 Pane ,并使用 HBox.setHgrow(scrollpane, Priority.SOMETIMES); 设置

此外,我还通过使用手动设置了此滚动 Pane 的尺寸:

scrollpane.setPrefWidth(w);
scrollpane.setMaxWidth(mxw);
scrollpane.setMinWidth(mnw);

完成所有这些设置后, Pane 将根据需要在其父节点中显示,并且当父 HBox 内没有其他节点时,滚动 Pane 将占据整个空间。

当我尝试获取此滚动 Pane 的宽度时,我无法获取计算结果,并且所有值似乎都返回 0;为了获得真实的效果,我尝试了以下方法:

scrollpane.getWidth(); // returns 0
scrollpane.getLayoutBounds.getWidth(); // returns 0
scrollpane.boundsInLocalProperty().get().getWidth; // returns 0
scrollpane.boundsInParentProperty().get().getWidth; // returns 0
scrollpane.widthProperty().get(); // returns 0
scrollpane.layoutBoundsProperty().get().getWidth(); // returns 0

我还使用了 sceneView v8.0.0 来检查宽度的实际值(与 prefWidth 不同),但我似乎无法从 Scrollpane 上的可用方法中恢复该值。

我不太确定我在这里缺少什么。

任何解决此问题的帮助将不胜感激。

最佳答案

经过进一步的研究,我发现所有宽度值都设置为 0 的原因只是因为我试图在使用 ScrollPane 的类的构造函数中执行计算。

更具体地说,在构造函数级别,scollpane 尚未呈现,因此其属性中没有维度信息,因此没有宽度值。

渲染完成后执行 scrollpane.getWidth() 可以正常工作并提供正确的信息。

关于Javafx HBox Hgrow(SOMETIMES)子滚动 Pane 节点如何获取宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33024458/

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