Jtable

[Résolu]
Signaler
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009
-
bonsoir j ai un probleme avec une jtable..
je souhaite la charger et l afficher mais je n ai aucun resultat
apres l execution.
voici mon code:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

//class pour afficher la liste des administrateur disponible
public class ListeAdministrateurs extends JFrame
{
private static final long serialVersionUID = -4902442320396426081L;
JTable table;//instancition de JTable pour le remplissage des données a partir de la BD
Statement statement;//creation du statement à partir de la chaine de connexion pour commner les requetes
ResultSet resultRequete;//conteneur la resultat de la requete excutée
//constructeur de la class
@SuppressWarnings("static-access")
public ListeAdministrateurs()
{
// Le composant JTable
JTable table = remplirTable();//la table sera initialisée par la liste des administrateurs envoyée par la fct 'remplirTable()'
table.setPreferredScrollableViewportSize(new Dimension(500,120));//prendre la dimension de la table
// Un panneau, placé dans la fenêtre
JScrollPane panneau = new JScrollPane(table);//mettre la table dans ascenceur
getContentPane().add(panneau, BorderLayout.CENTER);//centraliser le panneau dans la fenetre
this.pack();
this.setLocation(100, 100);
this.setVisible(true);
}

/** Requête et résultats dans une JTable */
@SuppressWarnings("unchecked")
JTable remplirTable() {
Vector tabLignes=new Vector(), nomCols=new Vector();
int i;
try {
String requeteMysql = "Select * From utilisateurs";//chaine contenant la requete a executée
statement = (Statement) new Configuration().connexion.createStatement();//creation du statement a partir de la chaine de connexion qui est placée dans la classe de connexion au MYsql
resultRequete = (ResultSet) statement.executeQuery(requeteMysql);//excuter la requete et la mettre dans une variabale ResulatSet
// Extraire noms des colonnes; les placer dans Vector nomCols
ResultSetMetaData md = resultRequete.getMetaData();
nomCols = new Vector();
for( i=1; i<=md.getColumnCount (); i++)
nomCols.add( md.getColumnLabel(i));
// Mémoriser le résultat dans la JTable
while( resultRequete.next()) {
//placer les valeurs dans Vector ligne
Vector ligne=new Vector();
//le 3 designe le nombre de colonnes qui doit etre connu dans la table
for(i=1; i<=3; i++)
{
String ch=resultRequete.getString(i);
ligne.add(ch);
}
tabLignes.add(ligne);
}
}
catch(Exception e) {
System.out.print("erreur1 "+e.getMessage());//récuperer le message d'erreur en cas d'erreur
}

return new JTable(tabLignes,nomCols);//type de retour qui initialise le JTable par la liste des vecteur envoyées remplis des tables
}
}

merci de me repondre

3 réponses

Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
Du point de vue "JTable" tout semble correct. Vérifie une fois, si ta requète SQL fonctionne correctement.
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

salut uhrand!!
merci...

dans mon bouton j appelle la methode remplirtable l erreur suivante est generee
a l execution;
erreur1 null erreur1 null
voici mon code

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ChargerJTable CH =new ChargerJTable();
jTable1 = CH.remplirTable();

}
merci de me repondre....
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

//class pour afficher la liste des administrateur disponible
public class ListeAdministrateurs extends JFrame
{
private static final long serialVersionUID = -4902442320396426081L;
JTable table;//instancition de JTable pour le remplissage des données a partir de la BD
Statement statement;//creation du statement à partir de la chaine de connexion pour commner les requetes
ResultSet resultRequete;//conteneur la resultat de la requete excutée
//constructeur de la class
@SuppressWarnings("static-access")
public ListeAdministrateurs()
{
// Le composant JTable
JTable table = remplirTable();//la table sera initialisée par la liste des administrateurs envoyée par la fct 'remplirTable()'
table.setPreferredScrollableViewportSize(new Dimension(500,120));//prendre la dimension de la table
// Un panneau, placé dans la fenêtre
JScrollPane panneau = new JScrollPane(table);//mettre la table dans ascenceur
getContentPane().add(panneau, BorderLayout.CENTER);//centraliser le panneau dans la fenetre
this.pack();
this.setLocation(100, 100);
this.setVisible(true);
}

/** Requête et résultats dans une JTable */
@SuppressWarnings("unchecked")
JTable remplirTable() {
Vector tabLignes=new Vector(), nomCols=new Vector();
int i;
try {
String requeteMysql = "Select * From utilisateurs";//chaine contenant la requete a executée
statement = (Statement) new Configuration().connexion.createStatement();//creation du statement a partir de la chaine de connexion qui est placée dans la classe de connexion au MYsql
resultRequete = (ResultSet) statement.executeQuery(requeteMysql);//excuter la requete et la mettre dans une variabale ResulatSet
// Extraire noms des colonnes; les placer dans Vector nomCols
ResultSetMetaData md = resultRequete.getMetaData();
nomCols = new Vector();
for( i=1; i<=md.getColumnCount (); i++)
nomCols.add( md.getColumnLabel(i));
// Mémoriser le résultat dans la JTable
while( resultRequete.next()) {
//placer les valeurs dans Vector ligne
Vector ligne=new Vector();
//le 3 designe le nombre de colonnes qui doit etre connu dans la table
for(i=1; i<=3; i++)
{
String ch=resultRequete.getString(i);
ligne.add(ch);
}
tabLignes.add(ligne);
}
}
catch(Exception e) {
System.out.print("erreur1 "+e.getMessage());//récuperer le message d'erreur en cas d'erreur
}

return new JTable(tabLignes,nomCols);//type de retour qui initialise le JTable par la liste des vecteur envoyées remplis des tables
}
}

merci de me repondre