package bezeroa.graf; import java.util.ArrayList; import javax.swing.JLabel; import javax.swing.JProgressBar; import javax.swing.table.AbstractTableModel; public class TableModel extends AbstractTableModel{ private static final long serialVersionUID = 1L; ArrayList<DeskargaData> data; public TableModel(ArrayList<DeskargaData> data){ this.data = data; } public TableModel() { data = new ArrayList<DeskargaData>(); } public void add(DeskargaData data){ this.data.add(data); } public Class<?> getColumnClass(int columnIndex) {//Funtzio honetan zutabe bakoitzeko klasea identifikatu behar da if(columnIndex == 0) return String.class; if(columnIndex == 1) return JProgressBar.class; if(columnIndex == 2) return JLabel.class; return String.class;//Zutabe zenbakia ez bada aurkitzen String bezala hartu } public int getColumnCount() { return 3; }//Zutabe kopurua public String getColumnName(int columnIndex) {//Zutabeen izenak, gero goian jartzeko if(columnIndex == 0) return "Izena"; if(columnIndex == 1) return "Progresoa"; if(columnIndex == 2) return "Tamaina"; return "null"; } public int getRowCount() { return (data == null) ? 0 : data.size(); }//Lerro kopurua bueltatu //data null bada 0 bueltatu, bestela datu kopurua /** * Zelda bakoitzeko balioa bueltatu * data.get(rowIndex) egitean lerro hortako datuak hartzen dira eta gero zutabe zenbakiaren arabera * elementu ezberdinak bueltatzen dira */ public Object getValueAt(int rowIndex, int columnIndex) { if(data == null) return null; else{ if(columnIndex == 0) return data.get(rowIndex).izena; if(columnIndex == 1) return data.get(rowIndex).jpb; if(columnIndex == 2) return data.get(rowIndex).tamaina; return null; } } public boolean isCellEditable(int columnIndex, int rowIndex) { return false; }//Zeldak ezin dira editatu }