Posez votre question Signaler

Afficher JTable en JAVA [Résolu]

brain2005 28Messages postés 1 août 2008Date d'inscription - Dernière réponse le 4 janv. 2009 à 17:19
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
Lire la suite 

Afficher JTable en JAVA »

3 réponses
Réponse
+0
moins plus
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);


++
brain2005- 25 août 2008 à 12:03
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+
Ajouter un commentaire
Réponse
+0
moins plus
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);


}
}
Ajouter un commentaire
Ce document intitulé « Afficher JTable en JAVA » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?