[Swing][JTable] Mise à jour données
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:
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:
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]