Que Método Usar?

3 respostas
JuniorMcz

Na aplicação tenho 2 Frames
1 - Main
2 - Cadastro

Na Main vai tem uma Jtable que me lista todos clientes cadastrados...
Quando eu Click 2 vezes em cima da linha, quero que abra meu outro Frame de cadastro, com as informações da linha que foi selecionada.

Meu evento do double click no Main é :
private void DoubleClickCadastro(java.awt.event.MouseEvent evt) {                                     

        if (evt.getClickCount() == 2) {

            jTableCliente.getValueAt(jTableCliente.getSelectedRow(),jTableCliente.getSelectedColumn());
            
            String codigocliente =(""+jTableCliente.getValueAt(jTableCliente.getSelectedRow(),jTableCliente.getSelectedColumn()));
            
            Cliente c = new  Cliente();
            
            c.setCODIGO(Integer.parseInt(codigocliente));
            
            
            this.setVisible(false);
          
            frmcadcliente = new CadastroCliente(); // Como passar o codigo do cliente ?
            
            frmcadcliente.setVisible(true);          

        }
    }

Como passar o codigo do cliente capturado para oura Frame ?

3 Respostas

CristianPalmaSola10

Crie um metodo no CadastroCliente

public void setIdCliente(Integer idCliente)
{
   this.idCliente = idCliente;
}

e na no metodo que voce postou seria so adicionar o seguinte

frmcadcliente.setIdCliente(Integer.parseInt(codigocliente));
JuniorMcz
CristianPalmaSola10:
Crie um metodo no CadastroCliente
public void setIdCliente(Integer idCliente)
{
   this.idCliente = idCliente;
}

e na no metodo que voce postou seria so adicionar o seguinte

frmcadcliente.setIdCliente(Integer.parseInt(codigocliente));

Certo.. Mas eu ja estou passando o codigo do cliente na linha 11
c.setCODIGO(Integer.parseInt(codigocliente));

Eu não fui bem claro.. :/
Vou explicar..

Meu projeto tem 2 frames e 1 class
1 Frame é o Main que esta com a minha lista.
2 Frame onde eu cadastro os clientes
1 Class onde é meu objeto.

Na Main estou listando todos meus clientes.
Quando chamo meu evento double cick em cima da linha quero que ele chame a tela de cadastro com todos os campos preenchidos..

Na Main no esta assim no evento:

private void DoubleClickCadastro(java.awt.event.MouseEvent evt) {                                     

        if (evt.getClickCount() == 2) {

            jTableCliente.getValueAt(jTableCliente.getSelectedRow(),jTableCliente.getSelectedColumn());
            
            String codigocliente =(""+jTableCliente.getValueAt(jTableCliente.getSelectedRow(),jTableCliente.getSelectedColumn()));
            
            Cliente c = new  Cliente();
            
            c.setCODIGO(Integer.parseInt(codigocliente));
            
            
            this.setVisible(false);
          
            frmcadcliente = new CadastroCliente();
            
            frmcadcliente.setVisible(true);
          
        }
    }

Na minha Frame de Cadastro quero que traga os campos preenhidos
No JtxtField.

e na minha Class onde é meu objeto, esta assim o método de consultar :
public static Cliente ConsultarCodigo(int codigo) throws Exception {

        BancoDeDados bd = new BancoDeDados();
        bd.conectar();

        String sql = "select * from cadcliente where codigo = ?";
        PreparedStatement p = bd.getPreparedStatement(sql);
        p.setInt(1, codigo);

        ResultSet res = p.executeQuery();

        if (res.next() == true) {

            Cliente c = new Cliente();

            c.setCODIGO(res.getInt("CODIGO"));
            c.setNOME(res.getString("NOME"));
            
            return c;
        }

        bd.desconectar();

        return null;
    }

Ai minha pergunta é a seguinte :
Como faço para preencher um JtxtFiel de uma Frame, com a informação da Linha selecionada da JTable que é um outro frame ?

CristianPalmaSola10

Nessa droga dessa linha

c.setCODIGO(Integer.parseInt(codigocliente));

pra quem voce passa essa droga desse id ???

naum é para a tela cara, é para um objeto do tipo cliente

nem me dei ao trabalho de ler o que voce postou por ultimo, voce naum quer passar o id para o frame entaum seta na droga do frame esse valor naum num objeto que voce criou so para dar serviço para o garbage collector

Criado 3 de agosto de 2012
Ultima resposta 3 de ago. de 2012
Respostas 3
Participantes 2