Pour vous entraîner à utiliser une base de données, affichez le contenu de la table membres dans un contrôle JTable.
Voici le résultat à obtenir :
Indices : vous utiliserez les méthodes setHeaderValue() et setValueAt() pour définir respectivement l’en-tête et les données de la table.
Solution
Pour que la table soit remplie dès l’ouverture de l’application, vous pouvez utiliser la méthode formWindowActivated() :
private void formWindowActivated(java.awt.event.WindowEvent evt) {
Connection connexion = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connexion = DriverManager.getConnection("jdbc:mysql://localhost/java", "root", "");
Statement state = connexion.createStatement();
ResultSet result = state.executeQuery("SELECT * FROM membres");
ResultSetMetaData resultMeta = result.getMetaData();
//On affecte le nom des colonnes au header du jTable
TableColumn column1;
for(int i=0;i<resultMeta.getColumnCount();i++) {
column1 = jTable1.getTableHeader().getColumnModel().getColumn(i);
column1.setHeaderValue(resultMeta.getColumnName(i+1).toUpperCase());
}
// On affiche les données dans le jTable
int j=0;
while(result.next()){
for(int i = 0; i < resultMeta.getColumnCount(); i++)
jTable1.setValueAt(result.getObject(i+1).toString(), j, i);
j=j+1;
System.out.println();
}
result.close();
state.close();
connexion.close();
} catch (Exception e) {
e.printStackTrace();
}
}