Ola pessoal, minha terceira tentativa de obter auxilio com relação a abstracttablemodel…
bem, preciso colocar um checkbox em uma tabela… consegui fazê-lo aparecer…
mas ao clicar ele não muda…
o que falta?
...
public class ModeloTable extends AbstractTableModel {
private List<Agenda_de_Manutencao_de_Veiculo> agenda;
public ModeloTable() {
agenda = new ArrayList();
}
public ModeloTable(List<Agenda_de_Manutencao_de_Veiculo> lista) {
this();
agenda.addAll(lista);
}
public int getRowCount(){
return agenda.size();
}
public int getColumnCount(){
return 5;
}
public String getColumnName(int colunas){
switch (colunas) {
case 0 : return "Veiculo";
case 1: return "Status";
case 2: return "Prioridade";
case 3: return "Data";
case 4: return "Seleciona";
default: return "";
}
}
public Class<?> getColumnClass(int coluna) {
if(coluna== 4){
return Boolean.class;
}
else
return String.class;
}
public Object getValueAt(int linhas, int colunas){
Agenda_de_Manutencao_de_Veiculo age = agenda.get(linhas);
switch (colunas){
case 0: return age.getVeiculo().getVei_nome().toString();
case 1: return age.getStatus().getSta_nome().toString();
case 2: return age.getPrioridade().getPri_nome().toString();
case 3: return age.getAge_man_vei_dia().toString();
case 4: return age.getAge_man_vei_seleciona();
default: return "";
}
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
public Agenda_de_Manutencao_de_Veiculo get(int linhas){
return agenda.get(linhas);
}
public void setValueAt(Boolean value, int linha, int col) {
Agenda_de_Manutencao_de_Veiculo age = agenda.get(linha);
age.setAge_man_vei_seleciona(value);
fireTableCellUpdated(linha, col);
}
}
e nessa parte eu alimento a jtable
...
List<Agenda_de_Manutencao_de_Veiculo> lista = new ArrayList<Agenda_de_Manutencao_de_Veiculo>();
Agenda_de_Manutencao_de_VeiculoDAO dao = new Agenda_de_Manutencao_de_VeiculoDAO();
for (Agenda_de_Manutencao_de_Veiculo agenda : dao.listar()) {
lista.add(agenda);
}
jTable1.setModel(new ModeloTable(lista));
...