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
|
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class MyTableModel extends DefaultTableModel {
private int nbColonnesFixes;
private List<List<Boolean>> editInformations;
public MyTableModel(Object[][] arg0, Object[] arg1, int nbColonnesFixes, boolean[][] editInformations) {
super(arg0, arg1);
this.nbColonnesFixes = nbColonnesFixes;
this.editInformations = new ArrayList< List<Boolean> >();
for(int i = 0; i<editInformations.length; i++) {
ArrayList<Boolean> tmp = new ArrayList<Boolean>();
for(int j = 0; j<editInformations[i].length; j++ ) {
tmp.add(editInformations[i][j]);
}
this.editInformations.add(tmp);
}
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return super.getColumnCount() - nbColonnesFixes;
}
@Override
public boolean isCellEditable(int arg0, int arg1) {
// TODO Auto-generated method stub
return editInformations.get(arg0).get(arg1);
}
@Override
public void setValueAt(Object arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
super.setValueAt(arg0, arg1, arg2+nbColonnesFixes);
}
@Override
public Object getValueAt(int arg0, int arg1) {
// TODO Auto-generated method stub
return super.getValueAt(arg0, arg1+nbColonnesFixes);
}
public void addColumn(Object arg0, Object[] arg1, Boolean[] arg2 ) {
// TODO Auto-generated method stub
super.addColumn(arg0, arg1);
editInformations.add(Arrays.asList(arg2));
}
@Override
public String getColumnName(int arg0) {
// TODO Auto-generated method stub
return super.getColumnName(arg0+nbColonnesFixes);
}
public void setColumnName(Object arg0, int arg1) {
// TODO Auto-generated method stub
super.columnIdentifiers.setElementAt(arg0,arg1+nbColonnesFixes);
}
} |