salut
j'ai une table client qui contient des lignes par exemple 5 enregistrement ,je les affiche sur jtable ,jtable se trouve dans jscrolpane

pour atteindre la taille de jscrolpane j'ajoute des ligne vide par data.addElement(row);

ça se passe bien
mais une fois je veux ajouter une ligne (nouveau client ) normalement ça affiche sur 6 ligne de jtable
le problème que ça affiche sur le reste des lignes de jtable de 6 jusqu'à 13 voila le code qui affiche la table client sur jtable

la variable k pour compter le nombre des lignes de la table client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();   
  String url= "jdbc:odbc:test";  
   String user = "user";   
  String pass = "pass";  
 Connection connection = DriverManager.getConnection (url, user, pass);   
   Statement instruction = connection.createStatement();  
  String sql = " select  *  from  client " ;      
  ResultSet resultat  = instruction.executeQuery(sql);  
   ResultSetMetaData md = resultat .getMetaData();  
    int columns = md.getColumnCount();  
      //  Get column names  
 
  for (int id = 2; id < columns+1; id++) {  
   columnNames.addElement(md.getColumnName(id));  
    }  
    //  Get row data  
 
    while (resultat .next()) {  
   Vector row = new Vector(columns);  
 
  for (int j = 2; j <= columns; j++) {  
 
   row.addElement(resultat .getObject(j));  
   }  
 
   data.addElement(row);  
   k++;  
    }  
   Vector row = new Vector(columns);  
    for (int j1 = 2; j1 <= columns; j1++) {  
  row.addElement("");  
   }  
   for (int j1 = k; j1 <= 13; j1++) {  
    data.addElement(row);  
  }  
   String nombre =String.valueOf(k);  
   jLabel4.setText("  la liste des clients   "+nombre+" enregistrments trouvés");  
  tableModel = new DefaultTableModel(data, columnNames);
et pour ajouter un nouveau client sur jtable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
  public void MaMethode1(String cv,String nom,String prenom,String adresse,String telephonne,String CP,String ville,String pays ){    
   jTable.setValueAt(cv, k, 0);  
   jTable.setValueAt(nom, k, 1);  
  jTable.setValueAt(prenom, k, 2);  
  jTable.setValueAt(adresse,k,3);    
  jTable.setValueAt(telephonne, k, 4);  
  jTable.setValueAt(CP, k, 5);  
  jTable.setValueAt(ville,k, 6);  
  jTable.setValueAt(pays,k, 7);  
            }
j'espère que le problème est clair