我正在制作有分页的jtable。我正在使用数据库查询从数据库中提取行,然后将行设置为jtable模型。现在,我有超过740万行,我每页显示10万行,生成74个分页按钮,显示在此图像中。
但是我想显示分页按钮,显示当前页面的前2页和后2页。并始终显示前3页和后3页。假设用户在第20页,所以分页将如下工作: 1,2,3 ... 18,19,20,21,22 ... 72,73,74
这是我的代码示例,它显示了我到目前为止所做的事情:
private static void createPaginationButtons(Connection conn) throws SQLException {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT count(*) FROM cdr");
while (rs.next()) {
totalRows = rs.getInt(1);
}
int v = totalRows % recordPerPage == 0 ? 0 : 1;
totalPages = totalRows / recordPerPage + v;
createButton(totalPages);
}
private static void createButton(int totalPages) throws SQLException {
for (int i = 0; i < totalPages;) {
buttons = new JButton("" + (i + 1));
buttons.addActionListener(listener);
panel.add(buttons);
i++;
}
createTable(offSet);
}
这些功能用于创建按钮并将其添加到面板。