Ajuda tela de login do meu sistema

10 respostas
V

public String Login_teste(String login, String senha) { Connection con = Conexao.getConnection(); if (Login_entrar.getText().equals("") || Senha_entrar.getText().equals("")) { JOptionPane.showMessageDialog(null, "Login ou Senha inválido.", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE); } else { try { System.out.println("ddwdw"); String sql ="SELECT cd_login_adm , cd_senha_adm FROM login_admnistrador_web where cd_login_adm = ? AND cd_senha_adm = ?"; PreparedStatement pstmt = con.prepareStatement(sql); System.out.println("dwdw"); pstmt.setString(1, login); pstmt.setString(2, senha); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { String login_teste = rs.getString(1); String senha_teste = rs.getString(2); if (Login_entrar.getText().equals(login_teste) && Senha_entrar.getText().equals(senha_teste)) { JOptionPane.showMessageDialog(null, "Login Executado com sucesso", "Sistema DeskFit", JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null, "Login ou Senha inválidos.", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE); Senha_entrar.setText(""); } } } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Erro de conexão", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE); } } return "";

Boa noite, este é meu codigo ele é para fazer login o problema é que da erro na hora que eu aperto para entrar ele da varios erro e fecha. Preciso muito da ajuda de voces ^^

10 Respostas

xxMAGRAOxx

Posta o erro que esta dando.

V

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at Telas.TelaLogin.Login_teste(TelaLogin.java:192) at Telas.TelaLogin.Entrar_loginMouseClicked(TelaLogin.java:140) at Telas.TelaLogin.access$000(TelaLogin.java:15) at Telas.TelaLogin$1.mouseClicked(TelaLogin.java:50) at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270) at java.awt.Component.processMouseEvent(Component.java:6508) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501) 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:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) 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:702) at java.awt.EventQueue$4.run(EventQueue.java:700) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:699) 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)
é este pequeno errinho ^^

xxMAGRAOxx

Cara, no momento do clique tem algum objeto que nao esta sendo devidamente instanciado. Vai ter q postar o codigo sa classe TelaLogin tbem.
Provavelmente na linha 192 esta ocorrendo

V
Este daqui é o codigo da classe TelaLogin
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Telas;

import Banco.Conexao;
import java.sql.*;
import javax.swing.JOptionPane;

/**
 *
 * @author EasyKill
 */
public class TelaLogin extends javax.swing.JFrame {

    /**
     * Creates new form TelaLogin
     */
    public TelaLogin() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        Entrar_login = new javax.swing.JButton();
        Sair_login = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        Limpar_login = new javax.swing.JButton();
        Login_entrar = new javax.swing.JTextField();
        Senha_entrar = new javax.swing.JTextField();
        jSeparator1 = new javax.swing.JSeparator();
        Contacto_login = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema DeskFit");

        Entrar_login.setText("Entrar");
        Entrar_login.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                Entrar_loginMouseClicked(evt);
            }
        });
        Entrar_login.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Entrar_loginActionPerformed(evt);
            }
        });

        Sair_login.setText("Sair");

        jLabel1.setText("Login");

        jLabel2.setText("Senha");

        Limpar_login.setText("Limpar");

        Contacto_login.setText("Contacto");

        jLabel3.setBackground(new java.awt.Color(255, 0, 0));
        jLabel3.setFont(new java.awt.Font("Arial Black", 0, 12)); // NOI18N
        jLabel3.setForeground(new java.awt.Color(204, 0, 0));
        jLabel3.setText("Sistema de relatorios DeskFit");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jSeparator1)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(Contacto_login)
                .addGap(20, 20, 20))
            .addGroup(layout.createSequentialGroup()
                .addGap(118, 118, 118)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(Entrar_login)
                        .addGap(6, 6, 6)
                        .addComponent(Limpar_login)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Sair_login)))
                .addGap(0, 112, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGap(132, 132, 132)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(Senha_entrar, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addGap(18, 18, 18)
                        .addComponent(Login_entrar, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(38, Short.MAX_VALUE)
                .addComponent(jLabel3)
                .addGap(34, 34, 34)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(Login_entrar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(29, 29, 29)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(Senha_entrar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(46, 46, 46)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Entrar_login)
                    .addComponent(Limpar_login)
                    .addComponent(Sair_login))
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(Contacto_login)
                .addContainerGap())
        );

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

    private void Entrar_loginActionPerformed(java.awt.event.ActionEvent evt) {
    }

    private void Entrar_loginMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        Login_teste(Login_entrar.getText(), Senha_entrar.getText());
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(TelaLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TelaLogin().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton Contacto_login;
    private javax.swing.JButton Entrar_login;
    private javax.swing.JButton Limpar_login;
    private javax.swing.JTextField Login_entrar;
    private javax.swing.JButton Sair_login;
    private javax.swing.JTextField Senha_entrar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JSeparator jSeparator1;
    // End of variables declaration
    public String Login_teste(String login, String senha) {
        Connection con = Conexao.getConnection();
        if (Login_entrar.getText().equals("") || Senha_entrar.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Login ou Senha inválido.", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE);
        } else {
            try {
                System.out.println("ddwdw");
                String sql ="SELECT cd_login_adm , cd_senha_adm  FROM  login_admnistrador_web  where cd_login_adm = ? AND cd_senha_adm = ?";
                PreparedStatement pstmt = con.prepareStatement(sql);
                System.out.println("dwdw");
                pstmt.setString(1, login);
                pstmt.setString(2, senha);
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    String login_teste = rs.getString(1);
                    String senha_teste = rs.getString(2);
                    if (Login_entrar.getText().equals(login_teste) && Senha_entrar.getText().equals(senha_teste)) {
                        JOptionPane.showMessageDialog(null, "Login Executado com sucesso", "Sistema DeskFit", JOptionPane.INFORMATION_MESSAGE);
                    } else {
                        JOptionPane.showMessageDialog(null, "Login ou Senha inválidos.", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE);
                        Senha_entrar.setText("");
                    }
                }
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(null, "Erro de conexão", "Sistema DeskFit", JOptionPane.ERROR_MESSAGE);
            }
        }
        return "";
    }
}
xxMAGRAOxx

Então Brother, tenho quase(para não dizer 100%) certeza que o problema esta na chamada do Conexão.getConecction()

Vamos la mais uma vez, rs.

Posta o código do método estático getConecction();

V
La vai o codigo Conexao
package Banco;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author EasyKill
 */
import java.sql.*;

public class Conexao {
    public static Connection getConnection() {
        System.out.println("Conectando Banco de dados...");
        //Tratamento de erros try catch
        try {
            // A Conexão é realizada com as informações do servidor, user e senha
            // Utilizo o método getConnection da classe DriverMananger
            System.out.println("OK");
            return DriverManager.getConnection("jdbc:mysql://localhost/db_deskfit", "Vanricky", "1234");
        }// no bloco catch coloca-se o tipo de erro esperando eo que fazer caso occora
        catch (SQLException e) {
            return null;
        }
    }
    
}
xxMAGRAOxx

Então, era exatamente isso. No método getConnection, esta ocorrendo um erro e está entrando n catch. Uma vez no catch é retornado um null para o objeto con da classe TelaLogin.
E o resto do código nem é executado.

Provavelmente você está com problemas com o driver mysql. Para ter certeza do que se trata coloca a seguinte linha de comando, dentro do catch, e me reporta o erro.

JOptionPane.showMessageDialog(null, e.getMessage());

Diz pra mim que foi :

No suitable driver found

haha

V

Putz brother deu esse erro mesmo e agora que faço

deu esse erro No suitable driver found for jdbc:mysql://localhost/db_deskfit

xxMAGRAOxx

Você tem que baixar o driver de conexão mysql e adicioná-lo ao seu projeto.

http://dev.mysql.com/downloads/connector/j/

V

Vlw pela ajuda se cuida tem como dar joinha nesse forum ^^ :smiley: :smiley:
Salvo minha pele hehe

Criado 15 de abril de 2013
Ultima resposta 15 de abr. de 2013
Respostas 10
Participantes 2