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
| public class ConditionsTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private String[] columnNames;
private List<Condition> conditions;
public final Object[] longValues = {"la langue du document est", "XXX"};
public ConditionsTableModel(String[] columnNames){
super();
this.columnNames = columnNames;
}
public ConditionsTableModel(String[] columnNames, List<Condition> conditions){
super();
this.columnNames = columnNames;
this.conditions = conditions;
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public int getRowCount() {
return conditions.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Object result = null;
switch(columnIndex){
case 0:
// On est dans la partie condition
result = conditions.get(rowIndex).getLeft();
break;
case 1:
result = conditions.get(rowIndex).getValeur();
break;
}
return result;
}
public String getColumnName(int col) {
return columnNames[col];
}
public List<Condition> getConditions() {
return conditions;
}
public void setConditions(List<Condition> conditions){
this.conditions = conditions;
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return true;
}
public void setValueAt(Object value, int row, int col) {
switch(col){
case 0:
conditions.get(row).setCondition((String)value);
case 1:
conditions.get(row).setValeur((String)value);
}
// Debug
System.out.println("setValueAt"+ "(value = " + value + "," + row + "," + col + ")");
fireTableCellUpdated(row, col);
}
public void addRow(Condition condition){
conditions.add(condition);
fireTableDataChanged();
}
public void initialiaze(List<Condition> conditions){
for (Condition condition : conditions){
addRow(condition);
}
} |
Partager