Rumah >Java >javaTutorial >Bagaimana untuk Mengisi JTable dari ResultSet di Java?

Bagaimana untuk Mengisi JTable dari ResultSet di Java?

Susan Sarandon
Susan Sarandonasal
2024-12-06 06:12:13420semak imbas

How to Populate a JTable from a ResultSet in Java?

Mengisi JTable daripada ResultSet

Seperti yang diterangkan dalam dokumentasi Java, pembina JTable menerima TableModel sebagai hujah. Ini bermakna anda boleh menggunakan kelas DefaultTableModel untuk mencipta model jadual berdasarkan ResultSet.

Berikut ialah contoh cara untuk melakukannya:

ResultSet rs = stmt.executeQuery("select * from product_info");
JTable table = new JTable(new DefaultTableModel(buildTableModel(rs), columnNames));

Kaedah buildTableModel mengambil ResultSet sebagai hujah dan mengembalikan objek TableModel. Berikut ialah contoh cara melaksanakan kaedah ini:

public static DefaultTableModel buildTableModel(ResultSet rs)
        throws SQLException {

    ResultSetMetaData metaData = rs.getMetaData();

    // names of columns
    Vector<String> columnNames = new Vector<String>();
    int columnCount = metaData.getColumnCount();
    for (int column = 1; column <= columnCount; column++) {
        columnNames.add(metaData.getColumnName(column));
    }

    // data of the table
    Vector<Vector<Object>> data = new Vector<Vector<Object>>();
    while (rs.next()) {
        Vector<Object> vector = new Vector<Object>();
        for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
            vector.add(rs.getObject(columnIndex));
        }
        data.add(vector);
    }

    return new DefaultTableModel(data, columnNames);

}

Atas ialah kandungan terperinci Bagaimana untuk Mengisi JTable dari ResultSet di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn