JTable

10 respostas
felipinho109

Pessoal, tenho uma classe Pessoa , onde tenho nome, reserva, rg, telefone. Em um formulário eu chamo a classe e crio um objeto pessoa, e pego os valores através de Campos de textos que o usuário passa os valores.
Em outro formulário crirei uma JTable e usando o DefaultTable criei um objeto ‘tb’ para passar os valores que da classe Pessoa para a Tabela.

Para passar valores nos parabetros por exemplo sei que eu faço
tb.setValue(“Felipe”);

eu queria passar como parametro o valor respectivo da classe por exemplo txtNome.getText(); onde eu mostraria nas linhas tabela qual valor o usuario inseriu no formulario.

Agora para passar para a tabela os valores da classe Pessoa, alguem pode me dizer que código usar para passar para cada linha seu respectivo valor, de acordo com as colunas criadas, referentes aos objetos da classe pessoa.

Obrigado

10 Respostas

drsmachado

Se está usando o DefaltTableModel, cada linha deve receber um array de objetos.

JonaTHANNM

e quando vc for preencher esta tabela, vc referencia cada coluna com qual valor do objeto vc vai preencher ela…

ViniGodoy

Não use o DefaultTableModel. Dá mais trabalho, é mais lento e ocupa muita memória.
Siga os links da minha assinatura, tem até exemplo de modelo de contatos lá.

felipinho109

Eu sou iniciante em Java, e não ficou claro pra mim como fazer isso.
Eu consigo passar como parametros os valores que eu quero para a tabela, setValueAt(“QUALQUER COISA”) quaisquer. Não os que estão na classe.
Eu quero os dados que estão na classe, os que o usuario entrou com eles em um Formulario, já com esses dados armazenados no objeto eu queria chama-los na Tabela
Alguem poderia me dar um exemplo prático de como fazer isso ?

ViniGodoy

Os link sobre tablemodel da minha assinatura não serviu? Por que?

felipinho109

Os link sobre tablemodel da minha assinatura não serviu? Por que?

vou analisa-los e se a duvida persistir eu volto a perguntar, como o professor ensinou usando DefaultTableModel resolvi seguir o metodo como aprendi, mas como ele lecionou usando parametros simples na insersao das linhas, fiquei confuso em como passar nos parametros os objetos da classe a serem apresentados em cada linha da tabela

felipinho109

Infelizmente não ficou claro pra mim como fazer esse procedimento, mesmo dando uma olhada nos links.
Independentemente da forma utilizada, queria um exeplo de como fazer isso, ou como fazer, como ler os dados da classe e inserilos na tabela
sendo que colunas e linhas ja esta criadas, queria somente saber como…qual codigo usar para inserir os dados da classe linha a linha na sua determinada coluna

Vingdel

Boa Tarde, felipinho109!

Caso não se importe, poste seu código e explique melhor seu problema.
Vai ajudar bastante.

Abraço!

Bruno_Ferreira1
//arraylist com varias instancias de pessoa
 ArrayList<Pessoas> pessoas=new ArrayList<Pessoas>();

//variavel que guardara o modelo
 DefaultTableModel modelo_tabela;  

  //vetor com o nome das colunas
  String[] colunas = {"Nome", "RG", "CPF"};

             //instancia modelo, com as colunas como parâmetro
             modelo_tabela = new DefaultTableModel(colunas, 0);

             // uma linha
             String[] linha = new String[colunas.length];           



             //no caso vou pegar os valores de 50 objetos do tipo pessoa, ai você ve quantos ira usar/precisar
             for(int i=0;i<50;i++){
                     
                for(int j=0;j<colunas.length;j++){                    
                    if(j==0) //na posição 0 do vetor, ou primeira coluna da linha, vou preencher com o nome
                        linha[j]=pessoas.get(i).getNome();

                    if(j==1)//na posição 1 do vetor, ou segunda coluna da linha, vou preencher com o RG
                        linha[j]=pessoas.get(i).getRG();

                    if(j==2)//na posição 2 do vetor, ou terceira coluna da linha, vou preencher com o CPF
                        linha[j]=pessoas.get(i).getCPF();

                 }

                 //adiciona os dados ao modelo
                 modelo_tabela.addRow(linha);

                 //seta modelo para a tabela
                 tabela_pessoas.setModel(modelo_tabela);                 
            }

talvez não seja a forma mais certa para fazer isso, como o Vini falou
é apenas um exemplo simples>

ViniGodoy

felipinho109:
Eu sou iniciante em Java, e não ficou claro pra mim como fazer isso.
Eu consigo passar como parametros os valores que eu quero para a tabela, setValueAt(“QUALQUER COISA”) quaisquer. Não os que estão na classe.
Eu quero os dados que estão na classe, os que o usuario entrou com eles em um Formulario, já com esses dados armazenados no objeto eu queria chama-los na Tabela
Alguem poderia me dar um exemplo prático de como fazer isso ?

Esse exemplo estava nos links:

Está cheio de comentários e mostra como colocar uma lista de clientes no Table.
Tem inclusive o código completo e a versão compilada, para você ver rodando.

É importante entender como o JTable funciona e não usar o DefaultTableModel. Não é à toa que isso está destacado em vermelho na minha assinatura.

Criado 6 de junho de 2011
Ultima resposta 7 de jun. de 2011
Respostas 10
Participantes 6