Como linkar uma linha do Jtable para um JForm

6 respostas
F

Eu tenho um formulario de pesquisa que me retorna alguns campos, como nome e endereço, como faço pra quando eu clicar nesta linha da tabela ele abrir pra mim o formulario de edição dakele campo que cliquei, seria tipo clico na linha e depois no botao Editar e ele me abre o form

public void Tabela() {
            tbPesquisa.getColumnModel().getColumn(0);
            tbPesquisa.getColumnModel().getColumn(1);
            
            DefaultTableModel modelo = (DefaultTableModel)tbPesquisa.getModel();
            
            try {
                while (pesquisa.resultset.next())
                    modelo.addRow(new Object[] {
                        pesquisa.resultset.getString("codigo"),
                        pesquisa.resultset.getString("endereco"),
                    });
            }
            catch {
            }
    }

6 Respostas

janjan

pega o valor da celula desejada da linha selecionada com o metodo

String valorDesejado = tabela.getValueAt(tabela.getSelectedRow, NRO da coluna que deseja pegar o valor);

entao
no botao

new TelaDeCadastro(valorDesejado).setvisible(true);

nao sei como voce passa o valor de uma tela para outra
se voce criou metodos get e set
mas é por ai
espero ter ajudado

F

peri num intendi bem, eu coloco isso dentro do meu # public void Tabela() {

String valorDesejado = tbPesquisa.getValueAt(tbPesquisa.getSelectedRow(0));

meu tbPesquisa é o nome da tabela, mas ta me retornando erro de cannot be aplied

janjan
o detalhe é que com o

String valorDesejado = tabela.getValueAt(tabela.getSelectedRow,0);

da forma que voce colocou nao vai funcionar mesmo

pois o metodo getValueAt(linha,coluna)

ele recebe como parametro a linha e coluna

entendeu

e com valor do registro que ele te retornar voce  pega

e passa para algum metodo e altera, chama tua tela,

nao sei a regra que vc tah usando.
F

é num intendi muito bem nao, tem algum algum exemplo, porque a clase que tenho tem a classe de conexao que pega os dados do banco e este abaixo que me mostra os dados na tabela

public void Tabela() {
            tbPesquisa.getColumnModel().getColumn(0);
            tbPesquisa.getColumnModel().getColumn(1);
            
            DefaultTableModel modelo = (DefaultTableModel)tbPesquisa.getModel();
            
            try {
                while (pesquisa.resultset.next())
                    modelo.addRow(new Object[] {
                        pesquisa.resultset.getString("codigo"),
                        pesquisa.resultset.getString("endereco"),
                    });
            }
            catch {
            }
    }

e este é quando eu clico no botao espquisar para me mostrar os dados na tabela

conectar.executeSQL("SELECT * FROM usuario WHERE "+busca+" like '%" + tfPesquisar.getText()+ "%');
E

cara! estou com o mesmo problema caso consiga resolver por favor me ajuda!

estou conseguindo fazer a pesquisa e chamar o form quando eu clico no registro da jtable so que o form do cadastro do veiculo está vindo vazio!

vou colocar o código abaixo para você da uma olhada! a pesquisa também está funcionando! o problema todo é o form aparecer com as informações do registro selecionado.

OBRIGADO MAIS UMA VEZ!

view plaincopy to clipboardprint?

   1. import java.awt.event.ActionEvent;  
   2. import java.awt.event.ActionListener;  
   3. import java.awt.event.MouseEvent;  
   4. import java.awt.event.MouseListener;  
   5. import java.sql.SQLException;  
   6. import java.util.ArrayList;  
   7. import java.util.List;  
   8. import javax.swing.JOptionPane;  
   9. import javax.swing.JScrollPane;  
  10. import javax.swing.table.DefaultTableModel;  
  11.   
  12.   
  13.   
  14. /** 
  15. * 
  16. * @author  cliente 
  17. */  
  18. public abstract class Form_cons_veiculo extends javax.swing.JFrame implements ActionListener, MouseListener  {  
  19.   
  20.           
  21.     private DefaultTableModel modelo;  
  22.     private List<Veiculo> lista;    
  23.     private JScrollPane scroll;  
  24.   
  25.       
  26.       
  27.     /** Creates new form Form_cons_veiculo */  
  28.     public Form_cons_veiculo() {  
  29.         initComponents();  
  30.     }  
  31.   
  32.     @SuppressWarnings("unchecked")  
  33.     public List getVeiculos(int cod_veiculo){  
  34.   
  35.         // consulta os veiculos que compoem a tabela  
  36.   
  37.              lista = new ArrayList<Veiculo>();  
  38.              Conexao conecta = new Conexao();  
  39.              conecta.conecta_bd();  
  40.               
  41.              String SQL = "SELECT ve_descricao, sec_descricao, cod_veiculo, placa FROM cad_veiculos WHERE cod_veiculo =" + cod_veiculo + " ";  
  42.   
  43.   
  44.         conecta.executeSQL(SQL);  
  45.   
  46.          
  47.      
  48.         modelo = (DefaultTableModel) jTable_cons_veiculo.getModel();  
  49.         modelo.setNumRows(0);  
  50.   
  51.         try {  
  52.             boolean proximo_registro = conecta.resultset.next();  
  53.   
  54.   
  55.             if (!proximo_registro) {  
  56.   
  57.                 JOptionPane.showMessageDialog(null, "Veiculo não existe ");  
  58.   
  59.             } else {  
  60.   
  61.                 do {  
  62.                         
  63.                     //Aqui você adiciona os campos do banco de dados no jTable.  
  64.                  
  65.                    modelo.addRow(new Object[]{conecta.resultset.getString("ve_descricao"), conecta.resultset.getString("sec_descricao"), conecta.resultset.getInt("cod_veiculo")});  
  66.                      
  67.             
  68.                 }   
  69.                   
  70.                 while (conecta.resultset.next());  
  71.                   
  72.              }  
  73.         conecta.resultset.first();    
  74.   
  75.           
  76.   
  77.         } catch (SQLException erro) {  
  78.   
  79.             JOptionPane.showMessageDialog(null, "Erro ao listar o jTable " + erro);  
  80.         }  
  81.           
  82.        return lista;  
  83.     }  
  84.   
  85.       
  86.     //@Override  
  87.     @SuppressWarnings("deprecation")  
  88.         public void mouseClicked(MouseEvent arg0) {  
  89.         int x = jTable_cons_veiculo.getSelectedRow(); // captura a linha selecionada  
  90.         Form_veiculo frm = new Form_veiculo(); //cria o formulario e envia o objeto no construtor  
  91.               
  92.                                             
  93.                      new Form_veiculo().show();   *** AQUI EU CHAMO O FORM MAS ESTÁ APARECENDO VAZIO ***  
  94.         }  
  95.       
  96.       
  97.      
  98.               *** AÇÃO DO BOTÃO PESQUISAR ***  
  99.     
 100.     @SuppressWarnings("unchecked")  
 101. private void jbotao_pesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                   
 102.   
 103.   
 104.         Veiculo veiculo = new Veiculo();  
 105.   
 106.   
 107.         veiculo.setCod_veiculo(Integer.valueOf(jText_consulta.getText()));  
 108.              
 109.           
 110.         this.getVeiculos(veiculo.getCod_veiculo());  
 111.           
 112.         jText_consulta.setText("");
F

eu fiz desta forma sua, mas aki ele num abre nem o formulario, como que vc fez ? vc cliou um botao e pedir pra chamar o mouseClicked(); ???

Criado 24 de abril de 2009
Ultima resposta 24 de abr. de 2009
Respostas 6
Participantes 3