Bom dia, estou com um problema: Minha JTable tem alguns CheckBox mas quando clico neles não está setando TRUE ou FALSE. Já pesquisei bastante na internet, mas não achei nenhuma solução específica pro meu caso.
Só pra constar: Preencho minha table com dados vindos do BD. Segue o código da minha classe:
[code]private class MyTableModel extends AbstractTableModel {
// Empregagos que ser�o passados para popular a tabela
ArrayList<Empresa> funcoes = new ArrayList<Empresa>();
// Cabe�ao da tabela (titulos das colunas)
final String[] CABECALHO = new String[]{
"COD", "CNPJ", "Nome", "Atribuir"
};
public MyTableModel(ArrayList<Empresa> funcoes) {
this.funcoes = funcoes;
}
/*
* M�todo utilizado internamente para constru��o da tabela.
* @return Total de linhas da tabela.
*/
@Override
public int getRowCount() {
return funcoes.size();
}
/*
* M�todo utilizado internamente para constru��o da tabela.
* @return Total de colunasda tabela.
*/
@Override
public int getColumnCount() {
return CABECALHO.length;
}
/*
* M�todo utilizado internamente para constru��o da tabela.
* @return T�tulo da coluna.
*/
@Override
public String getColumnName(int i) {
return CABECALHO[i];
}
@Override
public Class<?> getColumnClass(int i) {
if (i == 3) {
return Boolean.class;
}
return super.getColumnClass(i);
}
public boolean isCellEditable(int i, int j) {
if (j == 3) {
return true;
}
return false;
}
@Override
public void setValueAt(Object aValue, int i, int j) {
Empresa value = (Empresa) funcoes.get(i);
if (j == 3) {
value.setEmp(true);
}
}
@Override
public Object getValueAt(int i, int j) {
Empresa funcao = funcoes.get(i);
switch (j) {
case 0:
return funcao.getId();
case 1:
return funcao.getCnpj();
case 2:
return funcao.getNome();
case 3:
return false;
default:
return "!!!";
}
}
}[/code]
O problema mais específico está nesse método:
[code]@Override
public void setValueAt(Object aValue, int i, int j) {
Empresa value = (Empresa) funcoes.get(i);
if (j == 3) {
value.setEmp(true);
}
}[/code]
Obrigado desde já