Pessoal, boa tarde, tudo bem?
Estou com a seguinte dúvida, tenho um Jtable com 7 colunas, porém em um momento da execução do programa (quando clico em um botão por exemplo), eu quero que a coluna nº 6 seja Bloqueada/Desbloqueada para edição.
Utilizo o isCellEditable na classe da minha tabela, até ai tudo bem, porém eu não consigo Bloquear/Desbloquear uma coluna específica da minha tabela durante a execução do meu programa.
Desde já agradeço a atenção de todos.
É só retornar false
caso a coluna informada seja aquela que é pra estar bloqueada.
staroski, agradeço a resposta.
Não estou conseguindo enxergar uma forma de fazer isso na classe onde a minha tabela foi instanciada e iniciada, só consigo manipular na classe da minha Jtable.
Consegui, após pesquisar um pouco, resolvi da seguinte forma:
No Modelo da minha Jtable, criei esses 2 métodos:
public boolean isEditable() {
return editable;
}
public void setEditable(boolean editable) {
this.editable = editable;
fireTableDataChanged();
}
Alterei o método isCellEditable para:
@Override
public boolean isCellEditable(int linha, int coluna) {
switch (coluna) {
case 1:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
case 6:
return editable;
case 7:
return true;
}
return false;
}
Na minha classe principal eu criei um método (celulasEditaveis) e chamei ele no evento do click de um botão aqui, porém agora posso chamá-lo em qualquer evento que eu quiser.
public void celulasEditaveis() {
jTListaItensEntrega.setEditable(true);
}
Ainda não finalizei a lógica da forma que eu quero, porém o problema já esta resolvido agora consigo completar o restante, agradeço a todos, Deus abençoe.