Antes de fazer os campos receberem o valor do BD, as operações de CRUD funcionavam, no fim colarei o erro, segue mas classes e o BD:
Classe do tipo Modelo:
package com.login.model;
public class ModelUser {
private int id;
private String nome;
private String login;
private String senha;
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 String getLogin() {
    return login;
}
public void setLogin(String login) {
    this.login = login;
}
public String getSenha() {
    return senha;
}
public void setSenha(String senha) {
    this.senha = senha;
}
@Override
public String toString() {
    return "ModelUser{" + "id=" + id + ", nome=" + nome + ", login=" + login + ", senha=" + senha + '}';
}
}
############################################
Interface Dao:
package com.login.dao;
import com.login.model.ModelUser;
import java.util.List;
public interface InterfaceDaoUser {
public void novo(ModelUser modelUser);
public void excluir(ModelUser modelUser);
public void alterar(ModelUser modelUser);
public List<ModelUser> read();
public  String getSqlCliente();
}
###################################
Dao
package com.login.dao;
import com.login.model.ModelUser;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class DaoUser implements InterfaceDaoUser {
public void novo(ModelUser modelUser) {
    Connection con = ConnectionFactory.getConnnection();
    PreparedStatement stmt = null;
    String sql = "INSERT INTO tbl_login (nome, login, senha) VALUES (?, ?, ?) ";
    try {
        stmt = con.prepareStatement(sql);
        stmt.setString(1, modelUser.getNome());
        stmt.setString(2, modelUser.getLogin());
        stmt.setString(3, modelUser.getSenha());
        stmt.executeUpdate();
        JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
        con.close();
    } catch (SQLException u) {
        throw new RuntimeException(u);
    } finally {
        ConnectionFactory.closeConnection(con, stmt);
    }
}//fim inserir
public void excluir(ModelUser modelUser) {
    Connection con = ConnectionFactory.getConnnection();
    PreparedStatement stmt = null;
    String sql = "DELETE FROM  tbl_login WHERE id=?";
    try {
        stmt = con.prepareStatement(sql);
        stmt.setInt(1, modelUser.getId());
        stmt.executeUpdate();
        JOptionPane.showMessageDialog(null, "Excluido com sucesso!");
        con.close();
    } catch (SQLException u) {
        throw new RuntimeException(u);
    }
}// fim excluir
public void alterar(ModelUser modelUser) {
    Connection con = ConnectionFactory.getConnnection();
    PreparedStatement stmt = null;
    String sql = "UPDATE tbl_login SET nome=?, login=?, senha=? WHERE id=? ";
    try {
        stmt = con.prepareStatement(sql);
        stmt.setString(1, modelUser.getNome());
        stmt.setString(2, modelUser.getLogin());
        stmt.setString(3, modelUser.getSenha());
        stmt.setInt(4, modelUser.getId());
        stmt.executeUpdate();
        JOptionPane.showMessageDialog(null, "Excluido com sucesso!");
        con.close();
    } catch (SQLException u) {
        throw new RuntimeException(u);
    } finally {
        ConnectionFactory.closeConnection(con, stmt);
    }
}//fim alterar
public List<ModelUser> read() {
    Connection con = ConnectionFactory.getConnnection();
    PreparedStatement stmt = null;
    ResultSet rs = null;
    List<ModelUser> modelUsers = new ArrayList<>();
    try {
        stmt = con.prepareStatement("SELECT * FROM tbl_login");
        rs = stmt.executeQuery();
        while (rs.next()) {
            ModelUser mUser = new ModelUser();
            mUser.setId(rs.getInt("id"));
            mUser.setNome(rs.getString("nome"));
            mUser.setLogin(rs.getString("login"));
            mUser.setSenha(rs.getString("senha"));
            modelUsers.add(mUser);
        }
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro ao ler lista\nErro :" + ex);
    } finally {                  
         ConnectionFactory.closeConnection(con, stmt, rs);
    }
    return modelUsers;
}// end read
public  String getSqlCliente(){
    
    return "SELECT * FROM tbl_login ";
}
}//end DaoUser
#########################################
Conexão
package com.login.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ConnectionFactory {
    private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/db_login";
private static final String USER = "root";
private static final String PASS = "123";
    
   
public static Connection getConnnection(){
    
    try {
        Class.forName(DRIVER);
        return DriverManager.getConnection(URL, USER, PASS);
        
    } catch (ClassNotFoundException | SQLException ex) {
        throw new RuntimeException("Erro na conexao: ",ex );
    }
}
public static void closeConnection(Connection con){
    
        try {
            if(con !=null){
            con.close();
            }
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
        }
    
}
public static void closeConnection(Connection con, PreparedStatement stmt){
        closeConnection(con);
        try {
            if(stmt!=null){
            stmt.close();
            }
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
        }
}   
public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs){
        closeConnection(con, stmt);
        try {
            if(rs!=null){
            rs.close();
            }
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
        }        
        
}
}
####################################
Controle
package com.login.control;
import com.login.dao.DaoUser;
import com.login.dao.InterfaceDaoUser;
import com.login.model.ModelUser;
import java.util.List;
import javax.swing.JOptionPane;
public class ControlUser {
private DaoUser dao;
private InterfaceDaoUser interfaceDaoUser;
public ControlUser(){
	this.interfaceDaoUser=new DaoUser();
}
public void novo(ModelUser modelUser){
	if(modelUser !=null && !modelUser.getNome().equals("") && !modelUser.getLogin().equals("")  && !modelUser.getSenha().equals("")){
		interfaceDaoUser.novo(modelUser);
		JOptionPane.showMessageDialog(null, "Cadastro CONCLUIDO com sucesso!");
	}else{
		JOptionPane.showMessageDialog(null, "Todos os campos sao necessários!");
	}
}
public void alterar(ModelUser modelUser){
	if(modelUser != null && modelUser.getId()>0){
		interfaceDaoUser.excluir(modelUser);
		JOptionPane.showMessageDialog(null, "Cadastro EXCLUIDO com sucesso!");
	}else{
		JOptionPane.showMessageDialog(null, "Informe um cadastro a ser EXCLUIDO!");
	}
}
public List<ModelUser> read(){
	return interfaceDaoUser.read();
}
}
######################################
Visão
public class FRMConsoleUser extends javax.swing.JFrame {
InterfaceDaoUser interfaceDaoUser;
DaoUser daoUser = new DaoUser();
ModelUser modelUser = new ModelUser();
int login_id;
/**
 * Creates new form FRMConsoleUser
 */
public FRMConsoleUser() {
    initComponents();
    DefaultTableModel modelo = (DefaultTableModel) jTableLogin.getModel();
    jTableLogin.setRowSorter(new TableRowSorter(modelo));
    //https://www.youtube.com/watch?v=W5LsoFlwAWE&list=PLWd_VnthxxLfeEUK08gB7G3316OS5xIT3&index=14
    readJTable();
}
public void readJTable() {
    DefaultTableModel modelo = (DefaultTableModel) jTableLogin.getModel();
    modelo.setNumRows(0);
    DaoUser du = new DaoUser();
    for (ModelUser tmp : du.read()) {
        modelo.addRow(new Object[]{
            tmp.getId(),
            tmp.getNome(),
            tmp.getLogin(),
            tmp.getSenha()
        });
    }
}
private void jButtonNovoActionPerformed(java.awt.event.ActionEvent evt) {
modelUser = new ModelUser();
    modelUser.setNome(jTextFieldNome.getText());
    modelUser.setLogin(jTextFieldLogin.getText());
    modelUser.setSenha(jTextFieldSenha.getText());
//				
//daoUser.novo(modelUser);
interfaceDaoUser.novo(modelUser);
}                   
private void jButtonAlterarActionPerformed(java.awt.event.ActionEvent evt) {
modelUser = new ModelUser();
    modelUser.setId(login_id);
    System.out.println("login_id = "+login_id);
    modelUser.setNome(jTextFieldNome.getText());
    modelUser.setLogin(jTextFieldLogin.getText());
    modelUser.setSenha(jTextFieldSenha.getText());
     
    
    
 
    interfaceDaoUser.alterar(modelUser);
}                                     
private void jButtonExcluirActionPerformed(java.awt.event.ActionEvent evt) {
modelUser = new ModelUser();
modelUser.setId(login_id);
System.out.println("login_id = "+login_id);
interfaceDaoUser.excluir(modelUser);
carregarDados(“SELECT * FROM tbl_login”);
}
private void jTableLoginMouseClicked(java.awt.event.MouseEvent evt) {
//String nome = jTableLogin.getValueAt(jTableLogin.getSelectedRow(), 1).toString();
login_id =Integer.parseInt(jTableLogin.getValueAt(jTableLogin.getSelectedRow(), 0).toString());
carregarDados(“SELECT * FROM tbl_login WHERE tbl_login.id=’” + login_id + "’  ");
}
private void jButtonLimparActionPerformed(java.awt.event.ActionEvent evt) {
jTextFieldId.setText("");
jTextFieldNome.setText("");
jTextFieldLogin.setText("");
jTextFieldSenha.setText("");
}
// Ao clicar no item da Tabela ele carrega no campos jtextField…
private void carregarDados(String sql) {
try {
Connection con = ConnectionFactory.getConnnection();
        PreparedStatement stmt = null;
        ResultSet rs = null;
       
        stmt = con.prepareStatement(sql);
        rs = stmt.executeQuery();
        while (rs.next()) {                      
            
            jTextFieldId.setText(String.valueOf(rs.getInt("id")));
            jTextFieldNome.setText(rs.getString("nome"));
            jTextFieldLogin.setText(rs.getString("login"));
            jTextFieldSenha.setText(rs.getString("senha"));                
            
        }
        
        con.close();
        rs.close();
        stmt.close();
        
    } catch (Exception e) {
        e.getMessage();
    }
}
############################################
Banco
DROP DATABASE db_login;
CREATE DATABASE db_login;
USE db_login;
CREATE TABLE tbl_login(
id INT( 20 ) AUTO_INCREMENT,        
nome VARCHAR(255),
login VARCHAR(255),
senha VARCHAR(255),
PRIMARY KEY (id)
);
INSERT INTO tbl_login (nome, login, senha) VALUES ('marcel', 'adm_marcel','123');
INSERT INTO tbl_login (nome, login, senha) VALUES ('ab', 'adm_ab','123');
INSERT INTO tbl_login (nome, login, senha) VALUES ('treino', 'adm_treino','123');
DROP TABLE tbl_login;
SELECT * FROM tbl_login;
#########################
Erro ao clicar Excluir (notar que login_id assume o valor do campo clicado)
login_id = 3
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.login.view.FRMConsoleUser.jButtonExcluirActionPerformed(FRMConsoleUser.java:301)
	at com.login.view.FRMConsoleUser.access$500(FRMConsoleUser.java:14)
	at com.login.view.FRMConsoleUser$6.actionPerformed(FRMConsoleUser.java:139)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	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:6516)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6281)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.awt.EventQueue$4.run(EventQueue.java:718)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)