JavaFX:获取滚动窗格的可见区域

JavaFX:获取滚动窗格的可见区域,java,scroll,javafx,bounds,scrollpane,Java,Scroll,Javafx,Bounds,Scrollpane,我想做什么: 我有一个JavaFX滚动窗格,我需要确定在滚动窗格中可见的区域。我知道ScrollPane.getViewPortBounds(),它允许我获取可见区域的大小,但不能获取位置 我有什么办法可以做到这一点吗 在上下文中: 我正在显示一个非常大的图像,一次只需要显示部分。整个滚动窗格用于滚动图像,但为了确定需要加载图像的哪些部分,我需要知道在滚动窗格中显示的可见区域也提供了可见区域。此代码似乎有效: Bounds bounds = scrollPane.getViewport

我想做什么:
我有一个JavaFX
滚动窗格
,我需要确定在
滚动窗格
中可见的区域。我知道ScrollPane.getViewPortBounds(),它允许我获取可见区域的大小,但不能获取位置

我有什么办法可以做到这一点吗


在上下文中:

我正在显示一个非常大的图像,一次只需要显示部分。整个
滚动窗格
用于滚动图像,但为了确定需要加载图像的哪些部分,我需要知道在
滚动窗格
中显示的可见区域也提供了可见区域。此代码似乎有效:

    Bounds bounds = scrollPane.getViewportBounds();
    int lowestXPixelShown = -1 * (int)bounds.getMinX() + 1;
    int highestXPixelShown = -1 * (int)bounds.getMinX() + (int)bounds.getMaxX();

隐马尔可夫模型。。我已经玩了一点,它看起来确实有效,但只反映了通过调整窗口大小所做的更改。滚动滚动条不会更新
viewportBounds
,这似乎是由于我的困惑。我将对未更新的
viewportBounds
提出一个单独的问题。您是使用setHvalue()滚动滚动条还是手动滚动条?也许这并不重要,因为getViewportBounds()会以任何方式为我更新。您的应用程序在滚动后是否再次调用getViewportBounds()?需要这样做。如果这是一个愚蠢的建议,对不起!我用鼠标拖动滚动条进行滚动。我接受了你的建议,做了一点实验。在我的测试应用程序中,仅通过单击
按钮
调用
getViewportBounds()
有效,但由于某些原因,无法从我以前使用的
ChangeListener
调用。
按钮
路由对我来说不是一个可行的选项,但是-我需要自动化,所以我必须让
ChangeListener
工作。我认为可以触发视口边界更改的事件是滚动和调整大小事件。这两个页面显示了如何处理这些事件:这段代码没有给出滚动窗格的可见边界。仅查看端口边界。