Maison >Java >javaDidacticiel >Comment remplir une JTable à partir d'un ResultSet en Java ?

Comment remplir une JTable à partir d'un ResultSet en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-06 06:12:13447parcourir

How to Populate a JTable from a ResultSet in Java?

Remplir une JTable à partir de ResultSet

Comme décrit dans la documentation Java, le constructeur JTable accepte un TableModel comme argument. Cela signifie que vous pouvez utiliser la classe DefaultTableModel pour créer un modèle de table basé sur un ResultSet.

Voici un exemple de la façon de procéder :

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

La méthode buildTableModel prend un ResultSet comme un argument et renvoie un objet TableModel. Voici un exemple de la façon de mettre en œuvre cette méthode :

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);

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn