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??
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
davidtiagoconceicao
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
furacao123
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
davidtiagoconceicao
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
ajfilho
@Override
public boolean isCellEditable(int row, int col)
if (col == 0) {
return false;
} else {
return true;
}
}
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.