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
   |  //défini l'header
	    ArrayList<String> header = new ArrayList<String>(
	    	    Arrays.asList("id","Catégorie", "Sélection"));
 
	    Class[] columnTypes = new Class[] {
				String.class,String.class, Boolean.class
			};
	    //crée le modèle utilisé pour jtable
	    final MyTableModel modelCateg = new MyTableModel(movie.getCateg(),header,columnTypes);
 
class MyTableModel extends AbstractTableModel {
 
		//list contanant les données
	    private ArrayList<Object[]> rows;
	    //list contenant l'entete
	    private ArrayList<String> header;
	    //list contenant les types de colonnes
		private Class[] columnTypes;
	    public MyTableModel(ArrayList<Object[]> data,ArrayList<String> header,Class[] colTypes){
	        this.rows = data;
	        this.header = header;
	        this.columnTypes = colTypes;
	    }
	    public void addRow(Object[] row) {
	    	//ici j'ajoute à ma list mais à la fin
	    	rows.add(0,row);
	    	fireTableDataChanged();
	    }
	    public void emptyData(){
	    	this.rows.clear();
	    	fireTableDataChanged();
	    }
 
	    public void setData(ArrayList<Object[]> data){
	    	this.rows.clear();
	    	this.rows = data;
	    	fireTableDataChanged();
	    }
	    @Override
	    public Class<?> getColumnClass(int columnIndex) {
	        return columnTypes[columnIndex];
	    }
	    @Override
	    public int getColumnCount(){
	        return header.size();
	    }
	    public int getRowCount() {
	        return rows.size();
	    }
	    @Override
	    public String getColumnName(int col){
	        return header.get(col).toString();
	    }
	    @Override
	    public Object getValueAt(int row, int col){
	    	return rows.get(row)[col];
	    }
 
	    @Override
	    public boolean isCellEditable(int row, int col){
	    	return true; 
	    }
	} | 
Partager