Ajuda JTable iniciante

8 respostas
B

Pessoal boa noite estou com uma duvida aqui alguem pode me ajudar?

eu tenho 2 jtextfield (codigo e nome) e um jtable no meu formulario, e um jbutton, eu gostaria de saber se alguem tem algum exemplo de como fazer isso:
Quando eu clicar no jbutton ele inserir o que tem no jtextCodigo e jtextNome no campo Codigo e no campo Nome da minha jtable?
OBS: a minha jtable esta sendo carregada com sucesso!
OBS2: esse formulario nao usa banco de dados entao a solucao de gravar no banco e depois puxar do banco para a jtable nao funcionara!

obrigada pela atencao!

8 Respostas

gallo

Boa noite biluquinha,

Você pode construir sua JTable baseado em uma TableModel, como por exemplo a javax.swing.table.DefaultTableModel, ela possui métodos para adicionar novas linhas a JTable

Caio

Marky.Vasconcelos

Voce deve NÃO usar DefaultTableModel.
Invés disso entenda TableModel e implemente o seu.

Vou procurar alguns links que te ajudem.

B

no aguardo

ViniGodoy

Aqui está um deles:
http://www.guj.com.br/posts/list/132698.java#714736

Marky.Vasconcelos

Era esse que eu tava procurando.

willricardo

Cara como você esta iniciando nem vou falar para você usar abstractTableModel com reflection.rsr

eu uso Jtable com AbstractTableModel com reflection, sendo assim trabalho a tabela em minhas classes e não crio varios tablesModel para cada tipo de tabela especifica!!

Abraços!!

NightDark

No caso de usar DefaultTableModel você pode usar assim:

Import’s:

import java.util.Vector; import javax.swing.table.DefaultTableModel;
Action do Botão:

DefaultTableModel dtm = (DefaultTableModel)jTable1.getModel();
        Vector vt = new Vector();
        vt.addElement(jtextCodigo.getText());
        vt.addElement(jtextNome.getText());
        dtm.addRow(vt);
        jTable1.setModel(dtm);
ViniGodoy

No caso de estar usando DefaultTableModel, você irá transformar sua vida num inferno.

Basta ver pelo exemplo que você mesmo postou:

  1. Você está trabalhando com Vector, uma classe obsoleta desde o java 1.2;
  2. Você está associando a tabela valores de texto, sem usar classes de negócio;
  3. Você precisará fazer casts para extrair esses dados de volta, já que o DefaultTableModel só trabalha com “object”;

Por isso, reitero o que o Mark escreveu. Não use DefaultTableModel.
Vai ser mais difícil, mais trabalhoso, mais insergro, deixar um código mais ilegível e consumir mais memória.

Criado 31 de agosto de 2009
Ultima resposta 5 de set. de 2009
Respostas 8
Participantes 6