1

我有一个 JScrollPane。我想知道滚动了多少。
因此,如果用户向下滚动,那么我想知道以像素或任何其他测量单位为单位的顶部与我所看到的距离有多远。
这样做的原因是我想根据滚动量做一些绘图,为了绘图工作我需要知道上面的量。

4

2 回答 2

2

对不起,我实际上已经设法回答了我自己的问题。
我创建了名为 scrolledAmount 的外部变量,然后将侦听器添加到了 scrollPane

    scrollPane_.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener()
    {
        @Override
        public void adjustmentValueChanged(AdjustmentEvent e)
        {
            scrolledAmount_ = e.getValue();
            System.out.println("Type is "+e.getAdjustmentType());
            System.out.println("Amount scrolled is "+e.getValue());
            System.out.println("Scrolled amount is "+scrolledAmount_);
        }
    });

通过这样做,我知道已滚动的确切像素数量。

于 2013-10-01T16:27:16.513 回答
2

我想根据滚动的数量做一些绘图,为了绘图工作,我需要知道上面的数量。

您可能会为此使用视口。

Point position = scrollPane.getViewport().getViewPosition();
于 2013-10-01T16:21:10.180 回答