Veja eu passo todos os componentes da consulta  para o editar como mostra aqui nos código.
Aqui minha consulta onde eu clica em editar e passa todos os valores para o outro jfreme editar
 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
int codigo = (int)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),0);        
String nome = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),1);
String telefone = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),2) ;
String cpf = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),3) ;
String email = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),4);
String datanascimento = (String) jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),5) ;
String observacao =(String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),6 );
String endereco = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),7);
String cidade = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),8);
String uf = (String)jTTabela.getModel().getValueAt(jTTabela.getSelectedRow(),9);
        
janelaEditarCliente jc = new janelaEditarCliente(codigo,nome, telefone,cpf,email, datanascimento,observacao,endereco,cidade,uf);
jc.setVisible(true);
              
              
           
    
    }                    
Aqui seria meu jframe editar,meu id já esta sendo passado,n precisa esta num textfield
public final class janelaEditarCliente extends javax.swing.JFrame {
    public janelaEditarCliente() {
        initComponents();
        
    }
    public janelaEditarCliente(int id,String nome,String telefone,
            String cpf,String email,String datanascimento,
            String observacao,String endereco,String cidade,String uf)  {
        initComponents();
     
        
        this.jTNome.setText(nome);
        this.jFTelefone.setText(telefone);
        this.jFCPF.setText(cpf);
        this.jTEmail.setText(email);
        
        jFDatanascimento.setText(datanascimento);
        
        this.jTObservacao.setText(observacao);
        this.jTEndereco.setText(endereco);
        this.jTCidade.setText(cidade);
        this.jComboBoxUf.setSelectedItem(uf);
     
Aqui meu dao q altera
    public void altera(Cliente c1) throws SQLException{
     
         String sql = "update cliente set cliente.nome =?,"+
                  "cliente.telefone =?,cliente.cpf =? , cliente.email =?,cliente.datanascimento = ?, cliente.observacao=? "+
                  " where cliente.codcliente = cliente.codcliente= ?";
           try (PreparedStatement stmt = conexao.prepareStatement(sql)) {
               stmt.setString(1,c1.getNome());
               stmt.setString(2,c1.getTelefone());
               stmt.setString(3,c1.getCpf());
               stmt.setString(4,c1.getEmail());
               stmt.setString(5,c1.getDataFormatada());
               stmt.setString(6, c1.getObservacao());
               stmt.setInt(7,c1.getCodcliente());
         
               
               System.out.print(stmt);
               //Executa o código sql 
               stmt.execute();
           }
       
Aqui meu construtor altera
public void altera(String nome,String telefone,String cpf,String email,Date datanascimento,String observacao,String endereco,String cidade,String uf) throws SQLException  {
          System.out.println("Controlador  Alterar");
      
      Endereco novoEndereco = new Endereco();  
       
      novoEndereco.setEndereco(endereco) ; 
      novoEndereco.setCidade(cidade) ; 
      novoEndereco.setUf(uf) ;  
     
      
      Cliente novoCliente   = new Cliente(); 
   
      novoCliente.setNome(nome) ;
      novoCliente.setTelefone(telefone); 
      novoCliente.setCpf(cpf);
      novoCliente.setEmail(email); 
      novoCliente.setDatanascimento(datanascimento); 
      novoCliente.setObservacao(observacao); 
      novoCliente.setEndereco(novoEndereco);
  
       ClienteDAO dao = new ClienteDAO();
       dao.altera(novoCliente);
    
   }
Agora me diz como que ele não estaria pegando o valor do código?
Talvez seja o método altera ,pq esta muito estranho, esta tudo certo ao meu ver.