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
|
public class PhilaTableModel extends AbstractTableModel implements TableModel{
private String [] titresColonnes;
private List<Piece> lignes = new ArrayList<Piece>();
public PhilaTableModel(String [] titresColonnes){
this.titresColonnes = titresColonnes;
}
public void AjouterLigne (Piece ligne){
lignes.add(ligne);
fireTableRowsInserted(lignes.size()-1, lignes.size() -1);
}
public void Supprimer (int rowIndex){
lignes.remove (rowIndex);
fireTableRowsDeleted(rowIndex, rowIndex);
}
public void ViderTable () {
int Nblignes = lignes.size();
lignes.clear();
fireTableRowsDeleted(0, Nblignes);
}
public Class<?> getColumnClass(int columnIndex) {
return getValueAt(0, columnIndex).getClass();
}
public int getColumnCount() { return titresColonnes.length; }
public String getColumnName(int columnIndex) { return titresColonnes[columnIndex]; }
public int getRowCount() { return lignes.size(); }
public Object getValueAt (int rowIndex, int columnIndex) {
switch (columnIndex){
case 0 :
System.out.println ("coucou");
return lignes.get(rowIndex).getIdPiece();
case 1 :
return lignes.get(rowIndex).getPhoto();
case 2 :
return lignes.get(rowIndex).getSujet();
.........
}
// On décide de quelles colonnes ne seront pas éditables, ici les 2 premières
public boolean isCellEditable(int row, int col) { return (col < 2) ? false : true; }
} |