2

我不知道也找不到将滚动侦听器添加到 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));
4

1 回答 1

4

您可以添加AdjustmentListener.JScrollBarJScrollPane

JScrollBar vertical = scrollPane.getVerticalScrollBar();
vertical.addAdjustmentListener( ... );

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

如果您不知道如何用 Java 编写侦听器,请查看 Swing 教程中关于编写事件侦听器的部分。AdjustmentListener 没有示例,但所有侦听器的概念都是相同的。在这种情况下,您只需实现该adjustmentValueChanged(...)方法。首先在每次生成事件时只显示滚动条的当前值。您还可以在论坛/网络上搜索使用 AdjustmentListener 的示例。

于 2016-10-31T19:41:38.623 回答