[JTable] Modification d'une checkbox
Bonjour,
j'ai un problème pour modifier la valeur d'une check box dans une JTable. Je sais que je dois utiliser la méthode setValueAt de mon tableModele : je devrai faire
data[row][col]=value mais le probleme est que dans mon tableModel, je n'ai pas de tableau à deux dimensions.
voici mon tableModele:
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 57 58 59 60 61 62 63 64
| public class TableModelPrestaAValider extends AbstractTableModel {
private String[] cols= {"Numéro","Société","Date","Contrat","Projet","Intervention"};
private List<Prestation> rows ;
public TableModelPrestaAValider(List<Prestation> r){
super();
rows=r;
}
public String getColumnName(int col){
return cols[col];
}
public int getRowCount(){
return rows.size();
}
public int getColumnCount() {
return cols.length;
}
public Object getValueAt(int row,int column) {
switch(column){
case 0:
return rows.get(row).getIdPresta();
case 1:
return rows.get(row).getClient().getSociete();
case 2:
return DateHeure.calendarDateEnString(rows.get(row).getDateJour());
case 3:
if(rows.get(row).getContrat()==null)
return new Boolean(false);
else
return new Boolean(true);
case 4:
if(rows.get(row).getProjet()==null)
return new Boolean(false);
else
return new Boolean(true);
case 5:
if(rows.get(row).getHc()==null)
return new Boolean(false);
else
return new Boolean(true);
}
return null;
}
public void setData(List<Prestation> prestas){
this.rows = prestas;
super.fireTableDataChanged();
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
if (col>2)
return true;
else
return false;
} |
Quelqu'un aurait il une solution à me proposer?