Table Model

Olá, estou tentando desenvolver uma aplicação que recebe entradas e as coloca numa tabela. Entretando ainda estou com dúvidas de como colocar cada valor da entrada em sua coluna. Estou usando essa table model: http://www.guj.com.br/posts/list/225793.java#1156821

Por exemplo: Minha tabela tem as colunas A, B e C. Recebo uma entrada com o valor X, Y, Z. Como definir para o X ser colocado em A, Y em B e Z em C?

Eu coloquei pra criar a nova linha e adicionar a entrada na lista, mas a linha nova vem sempre vazia.

A JTable fica sabendo o que deve ser exibido nas células chamando internamente o método “getValueAt” do TableModel.

As colunas A, B e C representam os índices 0, 1 e 2. No exemplo que está se baseando, tem um switch que está vendo qual é o índice da coluna selecionado e retorna o valor respectivo, no caso X, Y, Z. Ficaria mais ou menos assim:

[code] @Override
public Object getValueAt(int rowIndex, int columnIndex) {
// Pega a linha especificada.
SuaClasse seuObjeto = linhas.get(rowIndex);

	// Retorna o campo referente a coluna especificada.
	switch (columnIndex) {
	case 0: // Coluna A
		return seuObjeto.getX(); // X para coluna A
	case 1: // Coluna B
		return seuObjeto.getY(); // Y para coluna B
	case 2: // Coluna C
		return seuObjeto.getZ(); // Z para coluna C
	default:
		throw new IndexOutOfBoundsException("columnIndex out of bounds");
	}
}[/code]

No caso do TableModel, ele é específico para trabalhar com uma classe (Socio, no caso do exemplo). Portanto, os valores X, Y e Z não são passados individualmente para a tabela, e sim um objeto que possuam os atributos X, Y e Z.

Implementando o método getValueAt, se preocupe apenas em passar o objeto específico para o TableModel. A chamada ao método getValueAt e a exibição dos valores na tela ficam a cargo da JTable.

Consegui aqui! :stuck_out_tongue:

Valeu pela ajuda