Bonjour à tous,

Je créé acuellement une interface qui contient une JTable avec une colonne contenant des Strings (non éditable) et une colonne contenant des double éditable. Jusque-là tout va bien, seulement lorsque j'édite ma case (car au début il n'y à qu'une ligne) la modification n'est jamais reportée dans les données de la JTable. D'ailleurs même si j'appuie sur entrée, la case semble rester en édition...

Voici mon model :
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
 
class TableModel2Col extends AbstractTableModel 
{
   private ArrayList<String> col0 = new ArrayList<String>();
   private ArrayList<Double> col1 = new ArrayList<Double>();
  //private ArrayList [] data; //Les données
 
  public TableModel2Col ()  { }
 
  //Fonctions qu'il est nécéssaire de surcharger
  public int     getRowCount    ()                 {return col0.size();}
  public int     getColumnCount ()                 {return 2;}
  public boolean isCellEditable (int row, int col) {return col==1; }
 
  public Object  getValueAt     (int row, int col) 
  {
  	if(col==0)
  		return col0.get(row);
  	else
  		return col1.get(row);
  }
 
  //On ajoute , on remplace ou on supprimer suivant les valeurs entrées...
  public void setValueAt(Object value, int row, int col) 
  {
    if (value != null) 
    {
    	if(col==0)
    	{
    		if (row >= col0.size())
    			col0.add(row,(String) value);
    		else
    			col0.set(row,(String) value);
    	}else
    	{
    		if (row >= col1.size())
    			col1.add(row,(Double) value);
    		else
    			col1.set(row,(Double) value);
    	}
    } else
    {
    	col0.clear();
    	col1.clear();
    }
    fireTableDataChanged();
  }
 
  //Permet de tout éffacer
  public void clear () 
  {
    col0.clear();
    col1.clear();
    fireTableDataChanged();
  }
}
Création de la table (à laquelle j'ajoute une ligne par la suite) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
// Création de la table
tableDim = new JTable(tabModel);
 
tableDim.setTableHeader(null);
tableDim.setRowHeight(30);
avecAsc = new JScrollPane(tableDim);
Si quelq'un peut m'aider, merci d'avance...

[Nean]