Obtendo dados da linha de uma tabela

4 respostas
G

Bom, estou criando uma aplicação aonde são realizadas consulta. O resultado das consultas são mostradas em um JTable.
Gostaria de saber como eu faço para obter os dados de uma linha quando usuário clicar nela, pois, os dados contidos na linha devem preencher jTextFields.

Exemplo:

Na tabela eu tenhos os campos, codigo, nome, saldo, situação, tipo

1 GUJ 10 M U

Quando eu clicar sobre a linha, desejo q os dados preencham jTextFields.

4 Respostas

davidbuzatto

Object valorCelula = tabela.getValueAt( tabela.getSelectedRow(), tabela.getSelectedColumn() );

Se vc quiser a linha inteira é só usar um for e percorrer a linha.

Da uma olhada na documentação.

Falow!

ramilani12

Vc pode utilizar essa idéia:
Utilizando Interface -&gt ListSelectionListener

e implementano método dela:

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public void valueChanged(ListSelectionEvent le) 
{
  int linha ;
     
                if (le.getValueIsAdjusting()) return;
		ListSelectionModel lsm = (ListSelectionModel) le.getSource();
		if (!lsm.isSelectionEmpty())
		{
                        linha = lsm.getMinSelectionIndex();
                        jTextField.setText(String.valueOf(suaTable.getValueAt(linha,1)));
jTextField.setText(String.valueOf(suaTable.getValueAt(linha,colunaN)));


                 }


}
G

vlws ^^

vo tentar aki xDDDDDDDD

G

Consegui, usei um evento do mouse, como estou trabalhando com Jtable e tals :

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
        int[] l = jTable1.getSelectedRows();//captura as linhas selecionadas
        UsuarioRU membro = usuarios.percorre(l[0]);
        buscacod.setText(Integer.toString(membro.getCod()));
        buscanome.setText(membro.getNome());
        buscasaldo.setText(Float.toString(membro.getSaldo()));
        buscatipo.setText(membro.getTipo());
        buscasit.setText(membro.getSituacao());
        imagemjLabel6.setIcon(new ImageIcon(membro.getFoto()));
    }

Para o usuário não selecionar várias linhas apenas:

jTable1.setRowSelectionAllowed(false);

vlws ^^

Criado 18 de outubro de 2006
Ultima resposta 19 de out. de 2006
Respostas 4
Participantes 3