package ci.tableModelService; import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; import ci.ressources.LotRessu; public class LotRessuTableModel extends AbstractTableModel{ private static final long serialVersionUID = 1L; private List list = null; //Déclaration des noms des colonnes public static final String[] titre = new String[]{"Séquence","N°Lot","Quantité","Poids","Prix Achat"}; public LotRessuTableModel(List list) { // TODO Auto-generated constructor stub this.list = list;//Fait allusion à la variable d'instance et non locale } public LotRessuTableModel() { // TODO Auto-generated constructor stub this.list = new ArrayList(); } @Override public int getColumnCount() { // TODO Auto-generated method stub return titre.length; } @Override public int getRowCount() { // TODO Auto-generated method stub return list.size();// } @Override public Object getValueAt(int rowIndex, int columnIndex) { // TODO Auto-generated method stub //Vérification si la taille de la liste et > ou = à 0 if (rowIndex < list.size() && rowIndex >= 0){//Alors if("N°Lot".equalsIgnoreCase(titre[columnIndex])){//Comparaison de chaine return list.get(rowIndex).getNumLot(); } else if("Quantité".equalsIgnoreCase(titre[columnIndex])){ return list.get(rowIndex).getQte(); } else if("Poids".equalsIgnoreCase(titre[columnIndex])){ return list.get(rowIndex).getPoids(); } else if("Prix Achat".equalsIgnoreCase(titre[columnIndex])){ return list.get(rowIndex).getPrixAchat(); } else if("Séquence".equalsIgnoreCase(titre[columnIndex])){ return rowIndex + 1; } else{ return "Unsuported Column"; } } return "Unsuported Row"; } @Override public String getColumnName(int column) { // TODO Auto-generated method stub /** si l'index demandé est supérieur a ma liste de titre si * on demande le titre de la colonne numéro 9 on réponde par la valeur par défaut "I"*/ if(column < titre.length){//Si la colonne est < à la longueur du titre alors return titre[column]; } return super.getColumnName(column); } //Pour supprimer une ligne public boolean insertRow(LotRessu lotRessu){ return list.add(lotRessu); } //Pour supprimer une ligne public boolean deleteRow(LotRessu lotRessu){ return list.remove(lotRessu); } // pour recupérer les données et faire les insertions dans la bdd public List getData(){ return list; } }