Afficher JTable en JAVA

[Résolu/Fermé]
Signaler
Messages postés
31
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
15 février 2009
-
 paul -
Bonjour,

je veux afficher les données d'un tableau dans un Jtable et chaque fois je clik sur un bouton le tableau va changer

// lign tableau contenant les données à afficher, ce tableau change lorsque je clik sans prob
String[][] lign = new String[][] {..........................................};

String[] cols = new String[] {"Min", "Max", "Avg" };

DefaultTableModel model = new DefaultTableModel( lign, cols);

table.setModel(model);

table = new JTable(lign, cols);

le prob c à l'affichage: tout d'abord tout marche bien et les données s'affichent mais lorsque je clik sur bouton la Jtable reste la même alors que le tableau lign a été changé

où le problème???? aidez moi svp et merci d'avance

2 réponses

Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
713
Salut,

Pas très clair comme souci...
le prob c à l'affichage: tout d'abord tout marche bien et les données s'affichent mais lorsque je clik sur bouton la Jtable reste la même alors que le tableau lign a été changé <== absolument aucune idée concernant l'action à réaliser lorsque tu cliques sur ton bouton.

Concernant la création de la JTable: en reprenant ton code ci-dessus, essaie ceci:

String[][] lign = new String[][] {..........................................};
String[] cols = new String[] {"Min", "Max", "Avg" };
DefaultTableModel model = new DefaultTableModel( lign, cols);

table = new JTable();
table.setModel(model);


++
Messages postés
31
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
15 février 2009

Salut,

ce que vous proposez n marche pas, rien n'est affiché dans ce cas.

mais enfin j'ai trouvé 1 solution : il faut remplacer DefaultTableModel model = new DefaultTableModel( lign, cols);

par ce là: model.setDataVector(lign, cols); et n'oublions pas d'initialiser model au début :

DefaultTableModel model = new DefaultTableModel( );


A+
bonjour , j'ai un probléme je me connecte à la BD à partir du programme en java j'ai insérer des ligne dans la BD mais le probléme c'est k'il m'affiche pas les attributs ( matricule,nom,prénom,tel,age) il m'affiche que les lignes que j'ai insérer dans la BD dans l'interface pouvez vous m'aidez SVP qu'est ce que je dois changer dans le code comment faire et merci d'avance

import java.awt.*;
import java.io.*;
import java.sql.*;
import javax.swing.*;
import java.util.*;


public class Interfacee extends JFrame {
JPanel panneau=new JPanel();
JTable table=new JTable();
Connection c = null;
Statement stm=null;
ResultSet rs = null;

public Interfacee()
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
c = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "123");
System.out.println("Connection établie");
} catch (ClassNotFoundException e)
{
System.out.println("Oracle :Pilotes non chargés");
} catch (SQLException ex)
{
System.out.println("Oracle : Connection non établie");
}

Vector <String> NomCol=new Vector<String>();
NomCol.add("matricule");
NomCol.add("nom");
NomCol.add("prénom");
NomCol.add("tel");
NomCol.add("age");
Vector <Object> ob=new Vector<Object>();

try {
stm=c.createStatement();
rs=stm.executeQuery("Select * from enseignant ");
while(rs.next()){
Vector <Object> ob1=new Vector<Object>();
ob1.add(rs.getString("matricule"));
ob1.add(rs.getString(2));
ob1.add(rs.getString(3));
ob1.add(rs.getInt(4));
ob1.add(rs.getInt(5));
ob.add(ob1);
}
} catch (SQLException e)
{
System.out.println("Erreur d'affichage ");
}


table.setModel(new javax.swing.table.DefaultTableModel(ob,NomCol));
panneau.add(table);
this.add(panneau,BorderLayout.CENTER);
setBounds(400,400,400,400);
this.setTitle("Gestion des enseignants");
}



public static void main(String[] args) throws IOException, SQLException{
Interfacee I=new Interfacee();
I.setVisible(true);


}
}