【问题标题】:How to implement load while scrolling JList?滚动JList时如何实现加载?
【发布时间】:2016-10-31 19:38:57
【问题描述】:

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

【问题讨论】:

    标签: java swing awt jlist javax


    【解决方案1】:

    您可以在JScrollPaneJScrollBar 中添加一个AdjustmentListener

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

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

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

    【讨论】:

    • 你能不能发更详细的答案...有一个AdjustmentEvent,如何处理?我是java的初学者。我只知道安卓
    猜你喜欢
    • 2013-05-23
    • 2010-10-25
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    相关资源
    最近更新 更多