JTable
Kida
-
kida -
kida -
Je n'arrive pas a afficher les données de ma base de données dans une JTable. Voici le code ci-dessous. L'erreur suivante apparait. Aucune valeur n'est retournée, dans les différentes méthode du constructeur.
Merci d'avance aux personnes qui peuvent m'aider a comprendre mon erreur.
public class cdrTableu extends JFrame {
XYLayout xYLayout1 = new XYLayout();
JScrollPane jScrollPane1;
JTable jTable1;
public ResultSet rstListeClient;
public ResultSetMetaData rsmd;
public cdrTableu() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
rstListeClient = ClsDemarrage.requete.executeQuery("SELECT * FROM TblClient");
rsmd = rstListeClient.getMetaData();
ClientTableau();
jScrollPane1 = new JScrollPane(jTable1);
this.getContentPane().setLayout(xYLayout1);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
this_windowClosing(e);
}
});
this.getContentPane().add(jScrollPane1, new XYConstraints(39, 34, 342, 235));
jScrollPane1.getViewport().add(jTable1, null);
}
public void ClientTableau() {
TableModel data = new AbstractTableModel(){
public String getColumnName(int colonne){
try{
return rsmd.getColumnName(colonne + 1);
}
catch(SQLException e){}
}
public int getColumnCount(){
try{
return rsmd.getColumnCount();
}
catch(SQLException e){}
}
public int getRowCount(){
try{
rstListeClient.last();
return rstListeClient.getRow();
}
catch(SQLException e){}
}
public Object getValueAt(int ligne, int colonne){
try{
rstListeClient.absolute(ligne + 1);
return rstListeClient.getObject(colonne + 1);
}
catch(SQLException e){}
}
public Class getColumnClass(int cl){
return getValueAt(0,cl).getClass();
}
public ResultSet getResultset()
{
return rstListeClient;
}
};
jTable1 = new JTable(data);
DefaultTableCellRenderer defaultRenderer = new DefaultTableCellRenderer();
defaultRenderer.setHorizontalAlignment(SwingConstants.CENTER);
TableColumn column = jTable1.getColumn("N°");
column.setCellRenderer(defaultRenderer);
column.setPreferredWidth(20);
}
Merci d'avance aux personnes qui peuvent m'aider a comprendre mon erreur.
public class cdrTableu extends JFrame {
XYLayout xYLayout1 = new XYLayout();
JScrollPane jScrollPane1;
JTable jTable1;
public ResultSet rstListeClient;
public ResultSetMetaData rsmd;
public cdrTableu() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
rstListeClient = ClsDemarrage.requete.executeQuery("SELECT * FROM TblClient");
rsmd = rstListeClient.getMetaData();
ClientTableau();
jScrollPane1 = new JScrollPane(jTable1);
this.getContentPane().setLayout(xYLayout1);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
this_windowClosing(e);
}
});
this.getContentPane().add(jScrollPane1, new XYConstraints(39, 34, 342, 235));
jScrollPane1.getViewport().add(jTable1, null);
}
public void ClientTableau() {
TableModel data = new AbstractTableModel(){
public String getColumnName(int colonne){
try{
return rsmd.getColumnName(colonne + 1);
}
catch(SQLException e){}
}
public int getColumnCount(){
try{
return rsmd.getColumnCount();
}
catch(SQLException e){}
}
public int getRowCount(){
try{
rstListeClient.last();
return rstListeClient.getRow();
}
catch(SQLException e){}
}
public Object getValueAt(int ligne, int colonne){
try{
rstListeClient.absolute(ligne + 1);
return rstListeClient.getObject(colonne + 1);
}
catch(SQLException e){}
}
public Class getColumnClass(int cl){
return getValueAt(0,cl).getClass();
}
public ResultSet getResultset()
{
return rstListeClient;
}
};
jTable1 = new JTable(data);
DefaultTableCellRenderer defaultRenderer = new DefaultTableCellRenderer();
defaultRenderer.setHorizontalAlignment(SwingConstants.CENTER);
TableColumn column = jTable1.getColumn("N°");
column.setCellRenderer(defaultRenderer);
column.setPreferredWidth(20);
}
2 réponses
Salut
nulle part dans ton code, je vois que tu insères les données dans ta table.....
Chouba
Casque Bleu forumique
nulle part dans ton code, je vois que tu insères les données dans ta table.....
Chouba
Casque Bleu forumique
utilise la méthode de TableModel pour insérer les données avant de lancer le constructeur de la JTable avec data...
une simple boucle avec ton ResultSet....
Chouba
Casque Bleu forumique
une simple boucle avec ton ResultSet....
setValueAt(Object aValue, int rowIndex, int columnIndex)
Sets the value in the cell at columnIndex and rowIndex to aValue.
Chouba
Casque Bleu forumique
Je vais faire la correction.
kida.