[REDOLVIDO] Problema ao inserir no BD - Column 'nome' cannot be null

Sou iniciante, e estou quebrando a cabeça com isto faz uns 3 dias:
não estou conseguindo fazer a inserção no bd, retorna que o “nome” está “nulo”, mas não vejo onde estou errando, alguem pode me ajudar?

‘’'package cadastro.entidades;

public class Cliente {
private Long id;
private String nome;
private String cpf;
private String email;
private String telefone;
private String endereco;

public Cliente() {
}

public Cliente(Long id, String nome, String cpf, String email, String telefone, String endereco) {
    this.id = id;
    this.nome = nome;
    this.cpf = cpf;
    this.email = email;
    this.telefone = telefone;
    this.endereco = endereco;
}

public Long getId() {
    return id;
}

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

public String getNome() {
    return nome;
}

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

public String getCpf() {
    return cpf;
}

public void setCpf(String cpf) {
    this.cpf = cpf;
}

public String getEmail() {
    return email;
}

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

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getEndereco() {
    return endereco;
}

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

}’’’

‘’'package cadastro.dao;

import cadastro.conexao.ConnectionFactory;
import cadastro.entidades.Cliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class ClienteDao {

private Connection connection;

public ClienteDao(){
    this.connection = new ConnectionFactory().getConnection();
}

public void adicionar(Cliente cliente){
    
    String sql = "INSERT INTO cliente (nome, cpf, email, telefone, endereco) VALUES (?, ?, ? ,? ,?)";
    
    try{
        PreparedStatement stmt = connection.prepareStatement(sql);
        
        
        stmt.setString(1, cliente.getNome());
        stmt.setString(2, cliente.getCpf());
        stmt.setString(3, cliente.getEmail());
        stmt.setString(4, cliente.getTelefone());
        stmt.setString(5, cliente.getEndereco());
        
        stmt.execute();
        stmt.close();
       
    }
    catch(SQLException e){
        throw new RuntimeException(e);
        
    }
}

}’’’

‘’'package cadastro.telas;

import cadastro.dao.ClienteDao;
import cadastro.entidades.Cliente;

public class TelaCadastroJfrm extends javax.swing.JFrame {

public TelaCadastroJfrm() {
    initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    btnCadastrar = new javax.swing.JButton();
    lblNome = new javax.swing.JLabel();
    lblCpf = new javax.swing.JLabel();
    jScrollPane2 = new javax.swing.JScrollPane();
    txtCpf = new javax.swing.JTextPane();
    lblEmail = new javax.swing.JLabel();
    jScrollPane3 = new javax.swing.JScrollPane();
    txtEmail = new javax.swing.JTextPane();
    lblTelefone = new javax.swing.JLabel();
    jScrollPane4 = new javax.swing.JScrollPane();
    txtTelefone = new javax.swing.JTextPane();
    lblEndereco = new javax.swing.JLabel();
    jScrollPane5 = new javax.swing.JScrollPane();
    txtEndereco = new javax.swing.JTextPane();
    jScrollPane6 = new javax.swing.JScrollPane();
    txtNome = new javax.swing.JTextPane();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setMaximumSize(new java.awt.Dimension(900, 600));
    setMinimumSize(new java.awt.Dimension(900, 600));
    setPreferredSize(new java.awt.Dimension(900, 600));
    setResizable(false);

    btnCadastrar.setText("CADASTRAR");
    btnCadastrar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnCadastrarActionPerformed(evt);
        }
    });

    lblNome.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblNome.setText("NOME");

    lblCpf.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblCpf.setText("CPF");

    jScrollPane2.setViewportView(txtCpf);

    lblEmail.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblEmail.setText("EMAIL");

    jScrollPane3.setViewportView(txtEmail);

    lblTelefone.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblTelefone.setText("TELEFONE");

    jScrollPane4.setViewportView(txtTelefone);

    lblEndereco.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    lblEndereco.setText("ENDERECO");

    jScrollPane5.setViewportView(txtEndereco);

    jScrollPane6.setViewportView(txtNome);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(31, 31, 31)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 83, Short.MAX_VALUE)
                    .addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(38, 38, 38))
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                    .addComponent(lblNome, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane6)))))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addGap(137, 137, 137)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(lblNome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane2)
                .addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane3)
                .addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jScrollPane4)
                .addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane5)
                    .addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addGap(61, 61, 61))
    );

    lblNome.getAccessibleContext().setAccessibleName("Nome");

    pack();
}// </editor-fold>                        

private void btnCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                             
    Cliente cliente = new Cliente();
			if (btnCadastrar.isSelected())
			{
		
				cliente.setNome(txtNome.getText());
				cliente.setCpf(txtCpf.getText());
				cliente.setEmail(txtEmail.getText());
				cliente.setTelefone(txtTelefone.getText());
				cliente.setEndereco(txtEndereco.getText());
                                   
			}
			new ClienteDao().adicionar(cliente);
}                                            


public static void main(String args[]) {

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new TelaCadastroJfrm().setVisible(true);
        }
    });
}

// Variables declaration - do not modify                     
private javax.swing.JButton btnCadastrar;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JLabel lblCpf;
private javax.swing.JLabel lblEmail;
private javax.swing.JLabel lblEndereco;
private javax.swing.JLabel lblNome;
private javax.swing.JLabel lblTelefone;
private javax.swing.JTextPane txtCpf;
private javax.swing.JTextPane txtEmail;
private javax.swing.JTextPane txtEndereco;
private javax.swing.JTextPane txtNome;
private javax.swing.JTextPane txtTelefone;
// End of variables declaration                   

}’’’

o programa deve pegar os dados e gravar no banco ao clicar no btnCadastrar.

Agradeço desde já!

Em geral n vejo problema, a não ser este IF, onde caso não entre no IF, vc mandará adicionar um Cliente sem dados atribuidos.

olhando seu comentário, fui pesquisar sobre a ação do botão, e o problema era esse.
troquei por isso e funcionou perfeitamente!

‘’‘
btnCadastrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Cliente cliente = new Cliente();
if (e.getSource() == btnCadastrar)
{
’’’
de qualquer forma, vlw!

wat?
o fato é q seu problema era o IF, mas pq diabos vc precisa desse if?

‘’'
if (e.getSource() == btnCadastrar)
{

				cliente.setNome(txtNome.getText().toString());
				cliente.setCpf(txtCpf.getText().toString());
				cliente.setEmail(txtEmail.getText().toString());
				cliente.setTelefone(txtTelefone.getText().toString());
				cliente.setEndereco(txtEndereco.getText().toString());

			}
			ClienteDao dao = new ClienteDao();
			dao.adicionar(cliente);
		}

‘’’

então… no caso do if o que eu queria dizer na verdade é: “se o botão for pressionado, execute o que esta dentro do escopo”. Sou iniciante então foi a forma que eu achei de fazer funcionar kkk
no caso quando eu troquei aquele btnCadastrar.isSelected() por esse get source que eu achei em outro topico, funcionou. Agora vou procurar saber o que é esse e.getsource kk

mas cara, não é assim que funciona. O próprio método que está sendo executado já foi chamado pelo evento de click do botão. Esse if aí n faz nenhum sentido.

então no caso isto aqui:

public void actionPerformed(ActionEvent e) {

esse actionPerformed é o método de “click” do botão?
se puder me explicar então, to começando agora nessa parte ai de swing…eu uso o eclipse com windowbuilder.

Aquilo é só um método qualquer, é o código abaixo q faz ele ser chamado pelo click