Java Swing之JTable分页显示数据
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.util.Vector;
public class JTablePagingExample {
public static void main(String[] args) {
JFrame frame = new JFrame("JTable Paging Example");
JTable table = createTable();
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.setVisible(true);
}
private static JTable createTable() {
// 创建表格数据
Vector<String> columnNames = new Vector<>();
columnNames.add("Name");
columnNames.add("Age");
columnNames.add("Email");
Vector<Vector<String>> data = new Vector<>();
for (int i = 0; i < 100; i++) {
Vector<String> row = new Vector<>();
row.add("Name " + i);
row.add("" + (20 + i));
row.add("email" + i + "@example.com");
data.add(row);
}
// 创建表格
JTable table = new JTable(new DefaultTableModel(data, columnNames) {
@Override
public boolean isCellEditable(int row, int column) {
return false; // 不可编辑
}
});
// 分页设置
JScrollPane scrollPane = new JScrollPane(table);
JTablePaging paging = new JTablePaging();
paging.setTable(table);
paging.setScrollPane(scrollPane);
paging.setPageSize(10); // 每页显示10行
return table;
}
}
这个代码示例展示了如何在Java Swing中创建一个可以分页显示数据的JTable。我们定义了表格的列名和数据,并设置了表格不可编辑。然后,我们使用JScrollPane将表格嵌入到框架中,并通过自定义的JTablePaging
类来实现分页功能。每页显示10条数据。这个例子简洁地展示了如何使用JTable来展示大量数据,并提供了分页机制,使得用户可以更好地浏览数据。
评论已关闭