ResultSetTableModel
Ce petit bout de code permet d'afficher dans javax.swing.JTable le résultat d'un requête SQL. Il suffit pour l'utiliser, de placer le code suivant :
monJTable.setModel(new ResultSetTableModel(monResultSet));
Et le code contenant le modèle, à mettre dans un fichier à part, ResultSetTableModel.java :
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
public class ResultSetTableModel extends AbstractTableModel{
private ResultSet rs = null;
public ResultSetTableModel(ResultSet _rs){
rs = _rs;
}
public String getColumnName(int col)
{
try{
return rs.getMetaData().getColumnName(col + 1);
}
catch (SQLException e){
return Integer.toString(col);
}
}
public int getColumnCount(){
int i = 0;
try{
i = rs.getMetaData().getColumnCount();
}
catch(SQLException e){
System.err.println("getColumnCount() : " + e);
}
return i;
}
public int getRowCount(){
int i = 0;
try{
rs.last();
i = rs.getRow();
}
catch(SQLException e){
System.err.println("getRowCount() : " + e);
}
return i;
}
public Object getValueAt(int row,int column){
Object o = "";
try{
rs.absolute(row + 1);
o = rs.getObject(column + 1);
}
catch(SQLException e){
System.err.println("getValueAt() : " +e);
}
return o;
}
}