Como colorir uma célula modificada?

3 respostas
A

Srs.

estou com uma dúvida ao sobreescrever a tableChanged.

Não consigo setvalue dentro de tableChanged (alterar uma outra célula da mesma linha baseado no resultado da alteração), ou se quer alterar a cor de célula via render.

Onde estou errando ?

André

3 Respostas

davidtiagoconceicao

Não entendi sua dúvida cara.

Você está sobrescrevendo o método fireTableDataChanged dentro do TableModel? Está tentando utilizar o setValue dentro deste método, é isso?
A cor da célula acredito que você realmente não vá conseguir à partir do model. Sugiro que você faça isso dentro do TableCellRenderer.

A

por exemplo,

a cada:

public void tableChanged(TableModelEvent e) {

int x = e.getFirstRow();

int y = e.getColumn();

System.out.println("Alterei x " + x + " y " + y);

}

como faco para q no lugar do system.out, eu consiga alterar alguma outra coluna na mesma linha (x) ?

por exemplo, se fiz uma modificacao, ele coloca uma frase em uma célula na mesma linha, dizendo “ALTERADO”…

Até

davidtiagoconceicao

Acho que não entendi muito bem ainda.
À partir de onde você quer fazer isso?
Você quer sobrescrever este método em uma classe que extende JTable?
Se sim, sugiro que você adicione uma chamada ao super.tableChanged.

Acho que para alterar alguma informação com sucesso na JTable, o melhor seria chamar o setValueAt do model desta table e então disparar um evento de atualização da JTable novamente.

Criado 17 de dezembro de 2008
Ultima resposta 17 de dez. de 2008
Respostas 3
Participantes 2