Setar colunas de uma JTable para serem editaveis

7 respostas
F

eu tenho uma JTable e quando inicio meu JDialog ela aparece populada com os campos do banco de dados…mas ela vem com todas as colunas não editaveis…eu coloquei um botao e queria q ao clicar no botão as celulas da tabela fique editavel…tentei de varias maneiras tentando um form pra passar de coluna em coluna com o setEditionColumm mas nao fez nada

como eu faria pra mudar e deixar a tabela editavel??

7 Respostas

A

Você precisa criar um modelo para sua tabela (Pode ser o DefaultTableModel por exemplo) e aí você sobreescreve o método ‘isCellEditable’, mais ou menos assim:

@Override public boolean isCellEditable(int row, int column) { return true; }

Abraços!

D

A princípio, você precisa:

  • Deixar sua table habilitada
  • No seu TableModel, sobrescrever os métodos isCellEditable (define se a determinada célula é editável ou não) e setValueAt ( “grava” o valor após a edição.
F

estou usando o netbeans esqueci de avisar…se eu setar um novo modelo eu não vou perder os titulos das colunas?

e outra coisa na primeira tabela da minha coluna eu tenho valores fixos com os dias da semana

D

Não precisa criar um model novo, sobrescreva os métodos no já existente.

Você quiz dizer que tem valores fixos na primeira linha?
Neste caso, dentro do isCellEditable verifique se está na determinada linha fixa e retorne false para impedir a edição.

A

@Override public boolean isCellEditable(int row, int col) if (col == 0) { return false; } else { return true; } }

Abraços!

V

Uma das melhores documentações sobre JTable:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

Alguns exemplos funcionais:
http://www.guj.com.br/posts/list/98452.java#530523
http://www.guj.com.br/posts/list/57203.java

Uma classe de tablemodel esperta, que auxilia isso, com exemplo:
http://www.guj.com.br/posts/list/100793.java#543532

Só uma dica: Nunca use o DefaultTableModel.
Ele torna o código mais confuso, mais ineficiente, mais sujeito a erros, menos encapsulado e com redundância de informação.

F

vlw vou dar uma olhada hj mesmo :smiley:

Criado 4 de dezembro de 2008
Ultima resposta 4 de dez. de 2008
Respostas 7
Participantes 4