2012-09-30 81 views
1

我一直无法在Internet上找到与我的问题相关的任何内容。Java JScrollPane检测滚动靠近底部

我有一个JScrollPane,它添加了一个JPanel,并且JPanel被填充了JLabels。

当前,用户滚动到JScrollPane的底部,然后单击“下一步”按钮。

我想要做的是检测用户何时位于/靠近JScrollPane的底部,这样我就可以触发“下一步”行为,而无需用户输入任何内容。

这甚至可能吗?

在此先感谢大家。

回答

3

您可以使用在您的JScrollPane中的垂直滚动条上注册的AdjustmentListener,并根据事件值采取行动。

这是example

+0

感谢您的回答,我确实看了看该页面,但无法理解它,Eclipse甚至找不到AdjustmentListener类。 – Cristian

+0

你输入了课程吗?我更新了一个指向'java.awt.event.AdjustmentListener'文档的链接。 – Reimeus

+0

完美的感谢,我不知道为什么Eclipse没有找到它,现在我可以看看这个例子。谢谢! – Cristian

3

JScrollBar使用BoundedRangeModel,它将接受ChangeListener - 因此您可以侦听滚动条的更改并作出相应的响应。

+0

感谢您的回答,您能否提供一个示例?我无法理解文档。 – Cristian

+0

@克里斯蒂安:没有太多。您知道如何获得垂直JScrollBar,您知道如何通过getModel()获取其模型,您知道如何添加ChangeListener,因此在侦听器的stateChanged方法中,将模型的值与其最大值进行比较。我敢打赌,你可以很容易地编码。为什么不试试呢? –

相关问题