JTable

7 respostas
A

[quote]Olá!
Seguinte: tenho o JTextField p/ descrição "produto" e "valor". Ao pressionar um JButton quero que esses dados apareçam em uma JTable. Consigo fazer isso, cfe código abaixo. É que quando pressiono o JButton os campos do JTextField "produto" e "valor" são limpos, p/ adicionar outro produto e seu respectivo valor. O que acontece é que esses dados aparecem na mesma linha e coluna que estavam os dados antes inseridos, quero que aparecam na 2ª linha e depois
3ª linha, e assim por diante. Como faço isso?

[code]
private void jb_gravarActionPerformed(ActionEvent evt) {
String descriçao = (jtf_descriçao. getText ());
double valor = (int) ((Double.parseDouble (jtf_valor.getText ())));

jt_receita.setValueAt(descriçao, 0,0);
jt_receita.setValueAt(valor, 0, 1);

7 Respostas

Metaleiro

[color=darkblue] Não sei se é necessariamente o que você precisa, mas dê uma olhada nesse tópico aqui, acredito que nele tenha o que você precisa :[/color]

Problema ao popular JTable dinamicamente

Felipe.JavaMan

Cara, eu nunca tive esse problema quando estava usando JTable, porém axo que se você ao adicionar uma linha acrecentar um contador, você poderia controlar isso corretamente, veja exemplo:

int linha = 0;

jt_receita.setValueAt(descriçao, linha,0);
jt_receita.setValueAt(valor, linha, 1); 

linha++;

Espero ter ajudado!
valeww

A

Valeu mas não funcionou.

Marky.Vasconcelos

Aprenda a trabalhar com o modelo da JTable, o TableModel.

Depois disso nao use o DefaultTableModel e implemente o seu proprio que aceite um objeto para ser adicionado na tabela.

A

qual plataforma? netbeans? eclipse? jpa?

Metaleiro

[color=darkblue]Eu acredito que seja independente da IDE, a não ser que você esteja usando algum plugin nativo de alguma das IDE’s [/color]

lina

Oi,

Conforme já falado, a melhor maneira é trabalhar com modelos. Segue exemplo.:

final DefaultTableModel modelo = new 
       DefaultTableModel();
    
    // constrói a tabela
    JTable tabela = new JTable(modelo);
    
    // Cria duas colunas
    modelo.addColumn("Nome");
    modelo.addColumn("Idade");
    
    JButton btn = new JButton("Adicionar Linhas");
    btn.addActionListener(
      new ActionListener(){
      	public void actionPerformed(ActionEvent e){
      	  String nome = JOptionPane.showInputDialog(
             null, "Informe o nome:");
      	  String idade = JOptionPane.showInputDialog(
             null, "Informe o nome:");
      	  
      	  // Adiciona uma linha
          modelo.addRow(new Object[]{nome, idade});
        }
      }	
    );

Tchauzin!

Criado 16 de junho de 2009
Ultima resposta 14 de set. de 2009
Respostas 7
Participantes 6