Pegar informações de um jlist e jogar pra outra jlist

Bom dia galera, eu estou fazendo um software pra clinica que a pessoa se cadastra pelo site como paciente ou cuidador, ai quando uma pessoa entra como cuidador ja aparece o nome da pessoa logado ai tranquilo, o que eu preciso , que quando um cuidador entre e acessa a tela de paciente já aparece os paciente dele automatico em um jlist ai quando eu seleciono um nome de um jlist aparece todas as informações do paciente em outra jlist

//Metodo para pegar tudo
public List<PegarTudo>listaPaciente(){
                String sql ="SELECT a.cad_int_idcliente, cad_st_nome, cad_st_estadocivil, 
             cad_st_status, cad_st_email, "
        + "cli_st_endereco, cli_st_cidade, cli_st_celular, cli_st_telefonefixo "
        + "FROM cad_tb_clientes as a INNER JOIN cad_tb_email as b ON "
        + "a.cad_int_idcliente=b.cad_int_idcliente INNER JOIN cad_tb_endereco "
        + "as c on a.cad_int_idcliente=c.cad_int_idcliente INNER JOIN cad_tb_telefone "
        + "as d on a.cad_int_idcliente=d.cad_int_idcliente WHERE cad_st_nome ";
                  
        PegarTudo pt;
        
        List<PegarTudo> lista = new ArrayList<>();
        
        try(PreparedStatement stmt = conexao.prepareStatement(sql)){
            
            ResultSet rs = stmt.executeQuery();
            while(rs.next()){
                pt = new PegarTudo();
                pt.setCad_int_idcliente(rs.getInt("cad_int_idcliente"));
                pt.setCad_st_nome(rs.getString("cad_st_nome"));
                pt.setCad_st_estadocivil(rs.getString("cad_st_estadocivil"));
                pt.setCad_st_status(rs.getString("cad_st_status"));
                pt.setCad_st_email(rs.getString("cad_st_email"));
                pt.setCli_st_endereco(rs.getString("cli_st_endereco"));
                pt.setCli_st_cidade(rs.getString("cli_st_cidade"));
                pt.setCli_st_celular(rs.getString("cli_st_celular"));
                pt.setCli_st_telefonefixo(rs.getString("cli_st_telefonefixo"));
                lista.add(pt);
            
            }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"Usuario nao encontrado" + ex);
        }
        return lista;
    }

//chamando o método
    PegarTudo pt = new PegarTudo();
    String pegarTudo = String.valueOf(jList1.getSelectedIndex());

    try {
        conexao = new Conexao();

        pt = conexao.listaPaciente(pegarTudo);
        
        if(jList1.getSelectedIndex() == -1){
            JOptionPane.showMessageDialog(rootPane,"Não selecionado", "ops....", 1);
        }else{ 
            //jListCuidador.addElement(pezquisaCliente);
            jListCuidador.addElement("Nome    : " +pt.getCad_st_nome());
            jListCuidador.addElement("E.Civil : " +pt.getCad_st_estadocivil());
            jListCuidador.addElement("Status  : " +pt.getCad_st_status());
            jListCuidador.addElement("Email   : " +pt.getCad_st_email());
            jListCuidador.addElement("Endereço: " +pt.getCli_st_endereco());
            jListCuidador.addElement("Cidade  : " +pt.getCli_st_cidade());
            jListCuidador.addElement("Celular : " +pt.getCli_st_celular());
            jListCuidador.addElement("Tel Fixo: " +pt.getCli_st_telefonefixo());

            jList2.setModel(jListCuidador);
         }
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(TelaListaPaciente.class.getName()).log(Level.SEVERE, null, ex);
    }        
}   

Aguardando resposta