Dar um update nas informações do JTable

4 respostas
A

Estou estudando JTable, e tenho uma dúvida que deve ser simples para vcs que trabalham com Java.
Como dar um update nas informações de um JTable, por exemplo, eu criei meu JTable com um Modelo, aqui vai a classe do Modelo

class ModeloTabela extends AbstractTableModel {
	Object[] vTitulo = {"Codigo","Nome","Cidade"};
	Object[][] vCampos = {{"","",""}};

	public int getColumnCount() {
		return vTitulo.length;
	}

	public int getRowCount() {
		return vCampos.length;
	}

	public Object getValueAt(int row, int col) {
		return vCampos[row][col];
	}

	public void montarGrid() {
		vCampos[0][0] = "1";
		vCampos[0][1] = "Apenas um Teste";
		vCampos[0][2] = "São Paulo";
	}
}

O Lance é o seguinte… quando o usuario entra na tela, o JTable vai mostrar uma linha com todas as celulas em branco, ai tem um botao Adicionar que chama o método montarGrid()
o problema que quando o usuario clica no botao não atualiza o JTable, mas se eu for com o mouse e clicar em cima dele, ae sim as informações atualizam.
tem algum jeito de eu atualizar o JTable dentro do método montarGrid ou no método ActionListener do botao?

Outra coisa, la em cima eu tenho o vTitulo que era pra ser o titulo das colunas do meu JTable, mas não funcina, no JTable fica o nome A, B, C
e não os nomes la em cima

4 Respostas

richardpeder

Alex:

Não sou a pessoa mais indicada para falar sobre Table, mas vou te dar uma dica que pode lhe ajudar…em relação a atualização da JTable, pq vc não coloca uma Thread que fica atualizando ela a cada x segundos, ou x minutos?

A Thread fica controlaria essa atualização numa boa…

ate mais

A

tipo…
eu vou atualizar ela quando eu clicar no botao atualizar

o problema é como eu faço isso? tem algum comando?
eu tenho que chamar o construtor? isso que eu nao estou entendendo

richardpeder

alex:

vc deve criar uma thread

Thread t = new Thread();

Depois vc deve criar uma classe dentro da sua classe publica, nela vc ira utilizar a thread dando start ou sleep nela, ou seja, la vc vai atualizar e dentro do seu codigo vc da start quando quiser atualizar e sleep quando quiser parar ela

Falow…

M

Olá!

O Update dos dados pode ser feito através da chamada do método fireTableDataChanged(). Eis um exemplo:

((AbstractTableModel)tableExemplo.getModel()).fireTableDataChanged();

Espero ter ajudado. Abraços!

Criado 15 de fevereiro de 2003
Ultima resposta 5 de jan. de 2005
Respostas 4
Participantes 3