Caros amigos,
Tenho um JScrollPane on JTable com 4 colunas.
Nome - Quantidade - Valor - Subtotal
Eu gostaria de que o campo valor nao fosse editavel e assim que eu inserir o nome do servico aparecesse o seu valor e tambem o Subtotal. Alguem tem um exemplo?
Tambem estou procurando saber ao final da inserção aparecer um botão pra excluir o serviço (seria uma 5 coluna?)
Ou implementar um botao de excluir assim que alguma linha fosse selecionada.
Quem tiver exemplo fico feliz…
Abraços !!!
Oi Marcos, tudo bem?
Então cara, é bem simples isso que você quer (:
Você tem que definir o método isCellEditable no seu TableModel, por exemplo:
table.setModel(new DefaultTableModel(){
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
});
Lembrando que o método diz se uma célula é editável, então ele recebe um número da linha e da coluna da célula. Assim, da pra você fazer com que apenas uma coluna não seja editável, e assim sucessivamente, toda personalização a nível de linha, coluna ou célula (:

O ideal mesmo é você parar de lutar com seu JTable e entender como ele funciona.
Primeiro de tudo: Não use o DefaultTableModel. A tabela funciona da seguinte forma:
- Existe a classe JTable, que coordena o desenho dos dados;
- Existe a classe TableCellRenderer, que desenha uma célula em si;
- Existe a classe TableModel, que é quem diz a tabela que dados devem ser desenhados;
O java inclui uma implementação padrão de TableModel, como exemplo. Já vou adiantando que ela é péssima, e constitui por si só uma péssima prática de programação. Por vários motivos:
a) Ela mistura lógica de view com a de negócio;
b) Ela dobra a quantidade de memória necessária para exibir o JTable;
c) Ela torna o código inseguro, cheio de casts, e difícil de ler;
d) É mais difícil usa-lo do que fazer seu próprio TableModel.
Fazer um TableModel é simples. Comece criando uma classe filha de AbstractTableModel. Entenda que cada método do AbstractTableModel será chamado pelo próprio JTable, quando ela estiver perguntando o que será desenhado. Pegue por exemplo o método isCellEditable, citado pelo colega. A tabela chama aquele método perguntando: “Ei TableModel, a célula da coluna column e da linha line, é editável?” E seu model retorna para ela o valor “sim” ou “não”, em resposta a pergunta.
Nesse tópico, existe uma implementação de um TableModel simples, para livros:
http://www.guj.com.br/posts/list/132698.java#714736
Dê uma lida. Note que aprender a usar o model também responde a pergunta do seu outro tópico. Uma vez que você vai separar o JTable dos dados deles em si, fica fácil reproveitar esses dados entre vários JTables de sua aplicação. 
Olá, Marcos!
Só para reforçar, siga estes conselhos do Vini.
Aboli o uso do DefaultTableModel, e adotei o AbstractTableModel como padrão para desenho de minhas JTable.
Facilitou MUITO a minha vida!
Grande abraço!