j'ai un programme qui permet d'afficher un JTable à partir d(un vecteur
ça fonctionne mais le problème est lorsque je clique dans une cellule elle devient vide
voici mon code

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package teste;
 
 
 
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
 
import javax.swing.table.AbstractTableModel;
 
import FENETRE1.Connection1;
import FENETRE1.Suivi_eleve;
import FENETRE1.Suivi_eleve.SimpleTableModel;
 
public class Note1 extends JFrame {
	 Connection1 coo=new Connection1();
	    String classe=coo.selectionner_Classe_courant();
	public Note1(){
 
 
		Vector vec=coo.select_eleve(classe);
		Vector vect = new Vector(4,1);
		affect(vect,vec);
		 Model model=new Model(vect);
		JTable table=new JTable(model);
 
	}
 
public void tab1(){
 
	}
 
public JPanel details(){
 
 
 
    JPanel pan=new JPanel();
 
 
	Vector vect=coo.select_eleve(classe);
 
 
	 Model model=new Model(vect);
	JTable table=new JTable(model);
 
     JScrollPane scrollPane = new JScrollPane(table);
 
     pan.add(scrollPane);
 
 
return pan;
 
 }	
public void affect(Vector v1,Vector v2){
	///v1=new Vector(4,1);
	for(int i=0;i<v2.size()-1;i+=2){
 
		String val1=(String)v2.elementAt(i);
		String val2=(String)v2.elementAt(i+1);
		String val=val1+" "+val2;
		v1.add(val);
		System.out.println(val);
	}
 
}
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
public class Model extends AbstractTableModel
{
 
    public static final int    controle1 = 0;
    public static final int    controle2 = 1;
    public static final int    orale = 2;
    public static final int    tp = 3;
    public static final int    synthese = 4;
    public static final int   moyenne= 5;
    public String[] e_colNames = {"Nom et Prenom",
 
    		                     " devoir de Controle N°1",
                                  "devoir de Controle N°2",
                                  "Note Orale",
                                  "Note TP",
                                  "devoir de Synthèse",
                                  "Moyenne trimestrielle"
                                  };
 
    public Class[]  e_colTypes = {String.class,
                                  String.class,
                                  String.class,
                                  String.class,
                                  String.class,
                                  String.class,
                                  String.class,
 
 
                                 };
 
 
 
    Vector eDataVector=new Vector(4,2);;
    String s=new String("");
    int i=0;
 
 
 
    public Model(Vector macDataVector)
    {
        super();
        affect(eDataVector,macDataVector);
        //eDataVector = macDataVector;
    }
 
 
    public int getColumnCount()
    {
        return e_colNames.length;
    }
 
    public int getRowCount()
    {
        return eDataVector.size();
    }
 
    public void setValueAt(Object value, int row, int col)
    {
    	int i=0;
    	if (i<(eDataVector.size()-1)&&(col<=1)){
   			if(col==0);
 
   		 s=(String)eDataVector.elementAt(i);
   		 i++;
 
   	}
 
 
    }
 
 
    public String getColumnName(int col)
    {
        return e_colNames[col];
    }
 
    public Class getColumnClass(int col)
    {
        return e_colTypes[col];
    }
    public Object getValueAt(int row, int col)
    {         
 
 
    	if (i<(eDataVector.size())&& (col==0)){
 
 
   		 s=(String)eDataVector.elementAt(i);
   		i++;
 
   		//System.out.println((String)eDataVector.elementAt(i));
   		}
 
    	else
 
    		s="";
 
 
 
    	 return s; }
 
 
    public boolean isCellEditable(int row, int col) {
        //Note that the data/cell address is constant,
        //no matter where the cell appears onscreen.
        if (col <2) {
            return false;
        } else {
            return true;
        }
    }
 
 
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] arg)
{
 
Note1 su=new Note1();
JPanel panel=su.details();
JFrame fr=new JFrame("teste");
fr.add(panel);
fr.setVisible(true);
fr.setSize(new Dimension(470, 460));
fr.validate();
}
}
une solution si c'est possible
merci d'avance