package org.magmax.masterjava.tema5.nombres;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class NameTableModel extends DefaultTableModel {
private static final long serialVersionUID = 1L;
private List<Person> list;
public NameTableModel (){
list = new ArrayList<Person>();
}
public Class<?> getColumnClass(int colnum) {
switch (colnum) {
case 0: return String.class;
default: return Integer.class;
}
}
public int getColumnCount() {
return 2;
}
public String getColumnName(int colnum) {
switch(colnum) {
case 0: return "Nombre";
case 1: return "Edad";
default: return "Unknown";
}
}
public int getRowCount() {
return list == null ? 0 : list.size();
}
public Object getValueAt(int row, int col) {
Person person = list.get(row);
switch (col) {
case 0: return person.getName();
case 1: return person.getYears();
default: throw new IllegalArgumentException("No such column");
}
}
public boolean isCellEditable(int arg0, int arg1) {
return false;
}
public void append (Person person) {
list.add(person);
}
public void remove(int[] selectedRows) {
Arrays.sort(selectedRows);
for ( int i = selectedRows.length; i > 0; --i)
list.remove(i-1);
}
}