Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "2004156219507903072019"

Estou com seguinte erro:

    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "2004156219507903072019"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:583)
at java.lang.Integer.parseInt(Integer.java:615)
at Paginas.Clientes.btn_DeletarActionPerformed(Clientes.java:253)
at Paginas.Clientes.access$100(Clientes.java:29)
at Paginas.Clientes$3.actionPerformed(Clientes.java:169)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

No caso esse erro aparece quando clico em um BTN para deletar uma linha da tabela no banco de dados.

//metodo para deletar cliente do bd;
 public void deletarCliente(){
  
    conn = ConexaoMyDB.getConexao();
    
    String sql = "DELETE FROM tb_cadastro WHERE id_tb_cadastro = ?";
    
    PreparedStatement stmt = null;
    
    try
    {
        stmt = conn.prepareStatement(sql);
        
        
        stmt.setInt(1, CadastroCliente.id_tb_cadastro);
        
        stmt.executeUpdate();
    }
    catch(SQLException ex){
        JOptionPane.showMessageDialog(null,"Erro ao deletar dado no banco de dados. Erro: " + ex);
    }        
}

private void btn_DeletarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        
    if(txtNControle.getText().equals(""))
    {
        JOptionPane.showMessageDialog(null, "Não foi selecionada a linha para deletar");
    }
    else
    {
        
        CadastroCliente.id_tb_cadastro = Integer.parseInt(txtNControle.getText());
        
        int respostaJOptionPane = JOptionPane.OK_CANCEL_OPTION;
        
        JOptionPane.showConfirmDialog(null, "Deseja realmente apagar esse cadastro ?",
                "Apagar Cadastro", respostaJOptionPane);
        
        if(respostaJOptionPane == JOptionPane.OK_CANCEL_OPTION)
        {
           
            deletarCliente();
            System.out.println("Clicou no ntnDeletar"); 
            txtNControle.setText("");
            txtNomeControle.setText("");           
        }
    }
}

Primeiro tópico criado desculpe se cometi algum erro!

Certifique-se que txtNControle.getText() retorna um inteiro literal, como por exemplo, “1”, “35”, etc.

Analisa o argumento da string como um número inteiro decimal assinado. Os caracteres na sequência devem ser todos dígitos decimais, exceto que o primeiro caractere pode ser um sinal de menos ASCII ‘-’ (’\ u002D’) para indicar um valor negativo ou um sinal de mais ASCII ‘+’ (’\ u002B’) para indicar um valor positivo. O valor inteiro resultante é retornado, exatamente como se o argumento e a raiz 10 fossem fornecidos como argumentos para o método parseInt (java.lang.String, int).
Parâmetros:
s - uma String contendo a representação int a ser analisada

Fonte[Java - Class Integer]: parseInt

O problema é que o número 2.004.156.219.507.903.072.019 não é um int válido.
O maior valor positivo que um int pode receber é 2.147.483.647.

3 curtidas