JAVA SE - Campo CPF textfield não aceita mais de 9 dígitos

CPF, não aceita 11 dígitos só 9 e dá este erro:
Erro: java.lang.NumberFormatException: For input string: “40080080023”

*obs.: 400800800 entra de boa sem erro.

Classe Modelo:
package br.com.model;

import java.sql.Date;

/**
 *
 * @author brainiac
 */
public class Modelo {
    private int id;
    private String nome;
    private Date nascimento;
    private int cpf_cnpj;
    private String tel;
    private String cel;
    private String email;
    private String endereco;
    private String referencia;
    private String bairro;
    private String cidade;
    private String cep;
    private int estado; 
    private String profissao;
    private double salario;
    private double credito;
    
    
    // Bellow get and Setter
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getNascimento() {
        return nascimento;
    }

    public void setNascimento(Date nascimento) {
        this.nascimento = nascimento;
    }

    public int getCpf_cnpj() {
        return cpf_cnpj;
    }

    public void setCpf_cnpj(int cpf_cnpj) {
        this.cpf_cnpj = cpf_cnpj;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getCel() {
        return cel;
    }

    public void setCel(String cel) {
        this.cel = cel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }

    public double getCredito() {
        return credito;
    }

    public void setCredito(double credito) {
        this.credito = credito;
    }

    @Override
    public String toString() {
        return "Modelo{" + "id=" + id + ", nome=" + nome + ", nascimento=" + nascimento + ", cpf_cnpj=" + cpf_cnpj + ", tel=" + tel + ", cel=" + cel + ", email=" + email + ", endereco=" + endereco + ", referencia=" + referencia + ", bairro=" + bairro + ", cidade=" + cidade + ", estado=" + estado + ", cep=" + cep + ", profissao=" + profissao + ", salario=" + salario + ", credito=" + credito + '}';
    }

Classe Controle:

public class ControleCliente {
    private static  PreparedStatement pstm;
    
    public static void gravarDados(Modelo modelo){
        try {
            String sql = "INSERT INTO tbl_cliente("
                    + "cliente_nome, "
                    + "cliente_nascimento, "
                    + "cliente_cpf, "
                    + "cliente_fone,"
                    + "cliente_cel,"
                    + "cliente_email,"
                    + "cliente_endereco, "
                    + "cliente_referencia, "
                    + "cliente_bairro,"
                    + "cliente_cidade,"
                    + "cliente_cep, "
                    + "cliente_estado_id, "
                    + "cliente_profissao, "
                    + "cliente_salario,"
                    + "cliente_credito) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            
            pstm = Conectar.conn.prepareStatement(sql);
            
            pstm.setString(1, modelo.getNome());
            pstm.setDate(2, (Date) modelo.getNascimento());
            pstm.setInt(3, modelo.getCpf_cnpj());
            pstm.setString(4, modelo.getTel());
            pstm.setString(5, modelo.getCel());
            pstm.setString(6, modelo.getEmail());
            pstm.setString(7, modelo.getEndereco());
            pstm.setString(8, modelo.getReferencia());
            pstm.setString(9, modelo.getBairro());
            pstm.setString(10, modelo.getCidade());
            pstm.setString(11, modelo.getCep());
            pstm.setInt(12, modelo.getEstado());
            pstm.setString(13, modelo.getProfissao());
            pstm.setDouble(14, modelo.getSalario());
            pstm.setDouble(15, modelo.getCredito());
            
            // para gravar no BD
            pstm.execute();
            System.out.println("Gravado com sucesso no BD");
           
            
        } catch (SQLException ex) {
            System.out.println("Erro ao gravar no BD: "+ex.getMessage());
        }
    }
    
    public static void atualizarDados(Modelo modelo){
        
    }
    
    public static void excluirDados(Modelo modelo){
        
    }
    
}

Parcial da classe visão feita com um frame:

public class FrmCliente extends javax.swing.JDialog {
    
   Modelo modelo = new Modelo(); 
   int estado_id;   
     
    /**
     * Creates new form FrmCliente
     */
    public FrmCliente(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        carregarEstados();
        
    }
// método para carregar comboBox Estados    
private void carregarEstados(){
    try {
        
        jComboEstado.removeAllItems();
        Conectar.executaSQL("SELECT * FROM tbl_estado ORDER BY estado_sg");
        
        while(Conectar.rs.next()){
           jComboEstado.addItem(Conectar.rs.getString("estado_sg"));
           
        }
        pegarIdEstado(jComboEstado.getSelectedItem().toString());
    } catch (Exception e) {
    }
}

// método para  tratar Id do estado
private void pegarIdEstado(String sql){
    
    try {
        
        
        Conectar.executaSQL("SELECT * FROM tbl_estado WHERE estado_sg='"+sql+"' ");
        
        while(Conectar.rs.next()){
           estado_id = Conectar.rs.getInt("estado_id");
           
        }
        
    } catch (Exception e) {
    }
        
    
}
private void jComboEstadoPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {                                                          
        
         pegarIdEstado(jComboEstado.getSelectedItem().toString());
        
    }                                                         

    private void gravarDados(){
        //Pode escolher formato BR ou English
        SimpleDateFormat dtBR = new SimpleDateFormat("dd/MM/yyyy");
	SimpleDateFormat dtEN = new SimpleDateFormat("yyyy-MM-dd");
        
        
	try{
        
            modelo.setNome(txtnome.getText()); 
            
            modelo.setNascimento(ConverteData.converte(dtBR.parse(txtnasc.getText())));
            
            modelo.setCpf_cnpj(Integer.parseInt(txtcpf.getText()));
            modelo.setTel(txttel.getText());
            modelo.setCel(txtcel.getText());
            modelo.setEmail(txtemail.getText());
            modelo.setEndereco(txtendereco.getText());
            modelo.setReferencia(txtref.getText());
            modelo.setBairro(txtbairro.getText());
            modelo.setCidade(txtcidade.getText());
            modelo.setCep(txtcep.getText());
            modelo.setEstado(estado_id);
            modelo.setProfissao(txtprofis.getText());
            modelo.setSalario(Double.parseDouble(txtsalario.getText()));
            modelo.setCredito(Double.parseDouble(txtcredito.getText()));
            ControleCliente.gravarDados(modelo);
        }catch (Exception e){
            System.err.println("Erro: " +e);
	
        }
    }

Banco:

CREATE DATABASE controlj;
USE controlj;

CREATE TABLE tbl_estado(
estado_id INT(20) AUTO_INCREMENT, 
estado_sg CHAR(3),
estado_nome VARCHAR(50),
PRIMARY KEY (estado_id)
);

DROP TABLE tbl_estado;




INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AC', 'Acre');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AL', 'Alagoas');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AP', 'Amapa');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AM', 'Amazonas');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('BA', 'Bahia');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('CE', 'Ceara');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('DF', 'Distrito Federal');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('ES', 'Espirio Santo');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('GO', 'Goias');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MA', 'Maranhao');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MT', 'Mato Grosso');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MS', 'Mato Grosso do Sul');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MG', 'Minas Gerais');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PA', 'Para');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PB', 'Paraiba');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PR', 'Parana');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PE', 'Pernambuco');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PI', 'Piaui');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RJ', 'Rio de Janeiro');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RN', 'Rio Grande do norte');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RS', 'Rio Grande do Sul');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RO', 'Rondonia');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RR', 'Roraima');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SC', 'Santa Catarina');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SP', 'Sao Paulo');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SE', 'Sergipe');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('TO', 'Tocantins');


SELECT * FROM tbl_estado;

/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_estado;


CREATE TABLE tbl_empresa(
empresa_id INT(20) AUTO_INCREMENT, 
empresa_nome VARCHAR(50),
empresa_fundacao DATE,
empresa_cnpj INT(25),
empresa_fone VARCHAR(20),
empresa_cel VARCHAR(20),
empresa_email VARCHAR(50),
empresa_endereco VARCHAR(100),
empresa_referencia VARCHAR(50),
empresa_bairro VARCHAR(50),
empresa_cidade VARCHAR(50),
empresa_estado_id INT(20),
PRIMARY KEY (empresa_id),
FOREIGN KEY (empresa_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_empresa;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_empresa;

SELECT * FROM tbl_empresa;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;


CREATE TABLE tbl_usuario(
usuario_id INT(20) AUTO_INCREMENT, 
usuario_nome VARCHAR(50),
usuario_fundacao DATE,
usuario_cpf INT(25),
usuario_fone VARCHAR(20),
usuario_cel VARCHAR(20),
usuario_email VARCHAR(50),
usuario_endereco VARCHAR(100),
usuario_referencia VARCHAR(50),
usuario_bairro VARCHAR(50),
usuario_cidade VARCHAR(50),
usuario_estado_id INT(20),
PRIMARY KEY (usuario_id),
FOREIGN KEY (usuario_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_usuario;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_empresa;

SELECT * FROM tbl_usuario;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;


CREATE TABLE tbl_cliente(
cliente_id INT(20) AUTO_INCREMENT, 
cliente_nome VARCHAR(50),
cliente_nascimento DATE,
cliente_cpf INT(25),
cliente_fone VARCHAR(20),
cliente_cel VARCHAR(20),
cliente_email VARCHAR(50),
cliente_endereco VARCHAR(100),
cliente_referencia VARCHAR(50),
cliente_bairro VARCHAR(50),
cliente_cidade VARCHAR(50),
cliente_cep VARCHAR(50),
cliente_estado_id INT(20),
cliente_profissao VARCHAR(50),
cliente_salario DECIMAL(50),
cliente_credito DECIMAL(50),
PRIMARY KEY (cliente_id),
FOREIGN KEY (cliente_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_cliente;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_cliente;

SELECT * FROM tbl_cliente;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;

CREATE TABLE tbl_fornecedor(
fornecedor_id INT(20) AUTO_INCREMENT, 
fornecedor_nome VARCHAR(50),
fornecedor_fundacao DATE,
fornecedor_cnpj INT(25),
fornecedor_fone VARCHAR(20),
fornecedor_cel VARCHAR(20),
fornecedor_email VARCHAR(50),
fornecedor_endereco VARCHAR(100),
fornecedor_referencia VARCHAR(50),
fornecedor_bairro VARCHAR(50),
fornecedor_cidade VARCHAR(50),
fornecedor_estado_id INT(20),
PRIMARY KEY (fornecedor_id),
FOREIGN KEY (fornecedor_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_fornecedor;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_fornecedor;

SELECT * FROM tbl_fornecedor;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;

Declara esse atributo como String

1 curtida

Campo CPF e CNPJ geralmente se movimenta e se armazena no BD como Varchar e não como Int, mesma coisa no Java, são tratados como String não como int/Integer.

1 curtida

Exatamente isso. Perfeito!

1 curtida

Valeu pela dica, sou iniciante seguindo um tutorial maluco

valeu, vou alterar

Quer aprender Java, da uma olhada no canal Univerdade XTI… muito conteudo bom em video aulas.

já vi, é bom