Duvida sobre tornar JTable não editavel

2 respostas
java
AlessandroGois

Pessoal,

Sei que já existem milhoes de topicos iguais a este no forum, mas a resposta que eu vejo em todos é:

public boolean isCellEditable(int row, int column) {
   return false;
}

O problema é que não estou sabendo implementar isso dentro da definição da tabela. Por exemplo:

DefaultTableModel modelo = new DefaultTableModel();

private void criaTabela()  {
    tbUsuarios = new JTable(modelo);
    modelo.addColumn("Codigo");

    tbUsuarios.getColumnModel().getColumn(0).setPreferredWidth(20);

    tbUsuarios.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);


}

Como eu colocaria aquele codigo no mesmo programa? E teria que chamá-lo depois?

Grato pela atenção.

2 Respostas

W

Esquece DefaultTableModel. Esse método isCellEditable(), é parte da Abstração de uma classe chamada AbstractTableModel. É muito mais elegante e dinâmico criar seus próprios TableModels.

Dê uma olhada nisso aqui:
Criando um model personalizado para um JTable com AbstractTableModel

Espero ter ajudado.

AlessandroGois

Maravilha, criei uma classe para o modelo da tabela e estou estendendo ele, ok. Só não sei como vejo os metodos addrow e addcolumn do default pra copiar porque a falta destes está me dando erro.

Obrigado :slightly_smiling:

Criado 5 de fevereiro de 2016
Ultima resposta 5 de fev. de 2016
Respostas 2
Participantes 2