首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java DataGrid 滑鼠滾動分頁實現思路

     編輯:程式設計疑難解答

DataGrid (或 JTable) 本身不支援「滾動到底自動載入下一頁」,需自行監聽滾動事件並觸發分頁邏輯。核心步驟:

實作要點

  1. 掛載滾動監聽: 取得 JScrollPane 的垂直 JScrollBar,加入 AdjustmentListener。
  2. 判斷觸發條件: 當 value + extent >= maximum - threshold (即滾動接近底部) 時觸發載入。
  3. 非同步載入資料: 在背景執行緒查詢資料庫,完成後用 SwingUtilities.invokeLater 更新 TableModel。
  4. 防重複觸發: 設定載入中旗標 isLoading,避免快速滾動產生多次請求。

程式碼骨架

scrollBar.addAdjustmentListener(e -> {
    if (!e.getValueIsAdjusting() && !isLoading) {
        int extent = scrollBar.getModel().getExtent();
        int max = scrollBar.getMaximum();
        int value = scrollBar.getValue();
        if (value + extent >= max - 50) { // 50 為閾值
            loadNextPage();
        }
    }
});

此模式適用於所有基於 Swing 的表格元件,關鍵在於「滾動事件 + 閾值判斷 + 非同步更新」三部曲。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved