滚动JList时如何实现加载?

时间:2016-10-31 19:38:57

标签: java swing awt jlist javax

我不知道,也无法找到将滚动侦听器添加到JList的方法。

我想开始"加载更多项目"滚动到JList的底部后。

哪种方法可以帮助我实现它?

mListModel = new PlacementListModel();
mList = new JList<Placement>(mAdapter);
mList.setCellRenderer(new PlacementJPanelListCellRenderer());

JScrollPane scroll = new JScrollPane(mList);
scroll.setPreferredSize(new Dimension(FRAME_WIDTH, 500));

1 个答案:

答案 0 :(得分:3)

您可以添加AdjustmentListener JScrollBar的{​​{1}}。

JScrollPane

生成事件时,您将获得当前值并将其与滚动条的最大值进行比较。当它符合您的标准时,您可以调用您的逻辑来加载更多项目。

如果您不知道如何用Java编写监听器,请查看Writing Event Listeners上Swing教程中的部分。 AdjustmentListener没有示例,但所有侦听器的概念都相同。在这种情况下,您只需实现JScrollBar vertical = scrollPane.getVerticalScrollBar(); vertical.addAdjustmentListener( ... ); 方法。每次生成事件时,只需显示滚动条的当前值即可。您还可以在论坛/网站上搜索使用AdjustmentListener的示例。