Jtable

Résolu
jeeb2009 Messages postés 75 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mars 2009 - 8 févr. 2009 à 20:02
jeeb2009 Messages postés 75 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mars 2009 - 9 févr. 2009 à 18:56
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

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
8 févr. 2009 à 22:03
Du point de vue "JTable" tout semble correct. Vérifie une fois, si ta requète SQL fonctionne correctement.
3
jeeb2009 Messages postés 75 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mars 2009
9 févr. 2009 à 10:04
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....
0
jeeb2009 Messages postés 75 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mars 2009
9 févr. 2009 à 18:56
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
0