我不知道,也无法找到将滚动侦听器添加到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));
答案 0 :(得分:3)
您可以添加AdjustmentListener
JScrollBar
的{{1}}。
JScrollPane
生成事件时,您将获得当前值并将其与滚动条的最大值进行比较。当它符合您的标准时,您可以调用您的逻辑来加载更多项目。
如果您不知道如何用Java编写监听器,请查看Writing Event Listeners上Swing教程中的部分。 AdjustmentListener没有示例,但所有侦听器的概念都相同。在这种情况下,您只需实现JScrollBar vertical = scrollPane.getVerticalScrollBar();
vertical.addAdjustmentListener( ... );
方法。每次生成事件时,只需显示滚动条的当前值即可。您还可以在论坛/网站上搜索使用AdjustmentListener的示例。