Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package formularios;
- import classes_persistencia.UsuarioDAO;
- import classes_registros.Usuario;
- import classes_utilitarias.JanelaDialogo;
- import classes_utilitarias.RedimensionaImagem;
- import java.awt.Image;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.imageio.ImageIO;
- import javax.swing.ImageIcon;
- import javax.swing.JOptionPane;
- public class FrmLogin extends javax.swing.JFrame {
- private UsuarioDAO conexao = new UsuarioDAO();
- private ResultSet listagem;
- private ArrayList<Usuario> registros = new ArrayList<Usuario>();
- private Usuario registro = new Usuario();
- private FrmPesquisa encontrados;
- private JanelaDialogo dialogo = new JanelaDialogo();
- public FrmLogin() {
- initComponents();
- setLocationRelativeTo( null );
- }
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- lbl_login = new javax.swing.JLabel();
- lbl_senha = new javax.swing.JLabel();
- bt_entrar = new javax.swing.JButton();
- bt_esquecisenha = new javax.swing.JButton();
- ctxt_senha = new javax.swing.JPasswordField();
- ctxt_login = new javax.swing.JTextField();
- lbl_dicaBusca_login = new javax.swing.JLabel();
- bt_listaUsuarios = new javax.swing.JButton();
- jPanel1 = new javax.swing.JPanel();
- lbl_logo_singelo = new javax.swing.JLabel();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("SINGELO 1.0");
- setPreferredSize(new java.awt.Dimension(293, 220));
- setResizable(false);
- getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
- lbl_login.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
- lbl_login.setText("Login:");
- getContentPane().add(lbl_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(28, 60, -1, -1));
- lbl_senha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
- lbl_senha.setText("Senha:");
- getContentPane().add(lbl_senha, new org.netbeans.lib.awtextra.AbsoluteConstraints(25, 100, -1, -1));
- bt_entrar.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
- bt_entrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/login.png"))); // NOI18N
- bt_entrar.setText("Entrar");
- bt_entrar.setToolTipText("Entrar");
- bt_entrar.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- bt_entrarActionPerformed(evt);
- }
- });
- bt_entrar.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyPressed(java.awt.event.KeyEvent evt) {
- bt_entrarKeyPressed(evt);
- }
- });
- getContentPane().add(bt_entrar, new org.netbeans.lib.awtextra.AbsoluteConstraints(3, 150, 110, 30));
- bt_esquecisenha.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
- bt_esquecisenha.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/help.png"))); // NOI18N
- bt_esquecisenha.setText("Esqueceu a senha?");
- bt_esquecisenha.setToolTipText("Esqueceu a senha?");
- bt_esquecisenha.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- bt_esquecisenhaActionPerformed(evt);
- }
- });
- getContentPane().add(bt_esquecisenha, new org.netbeans.lib.awtextra.AbsoluteConstraints(125, 150, 150, 30));
- ctxt_senha.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyPressed(java.awt.event.KeyEvent evt) {
- ctxt_senhaKeyPressed(evt);
- }
- });
- getContentPane().add(ctxt_senha, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 95, 160, -1));
- ctxt_login.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- ctxt_loginFocusLost(evt);
- }
- });
- ctxt_login.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyPressed(java.awt.event.KeyEvent evt) {
- ctxt_loginKeyPressed(evt);
- }
- public void keyReleased(java.awt.event.KeyEvent evt) {
- ctxt_loginKeyReleased(evt);
- }
- });
- getContentPane().add(ctxt_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 55, 160, -1));
- lbl_dicaBusca_login.setFont(new java.awt.Font("Tahoma", 1, 8)); // NOI18N
- getContentPane().add(lbl_dicaBusca_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(68, 83, 150, 10));
- bt_listaUsuarios.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
- bt_listaUsuarios.setText("?");
- bt_listaUsuarios.setToolTipText("Lista de usuários logados");
- bt_listaUsuarios.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
- bt_listaUsuarios.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- bt_listaUsuariosActionPerformed(evt);
- }
- });
- getContentPane().add(bt_listaUsuarios, new org.netbeans.lib.awtextra.AbsoluteConstraints(225, 55, 40, 28));
- jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
- getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 270, 90));
- lbl_logo_singelo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/LogoLoginCorreta.JPG"))); // NOI18N
- getContentPane().add(lbl_logo_singelo, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 290, 40));
- pack();
- }// </editor-fold>
- private void bt_entrarActionPerformed(java.awt.event.ActionEvent evt) {
- try {
- ir();
- } catch (FileNotFoundException ex) {
- Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- private void ctxt_senhaKeyPressed(java.awt.event.KeyEvent evt) {
- if (evt.getKeyCode() == evt.VK_ENTER){
- try {
- ir();
- } catch (FileNotFoundException ex) {
- Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- public void ir() throws FileNotFoundException, IOException{
- String senha = "123"; // SENHA E LOGIN DE SUPER USUÁRIO
- if(ctxt_login.getText().equals(senha) && ctxt_senha.getText().equals(senha)){
- FrmPrincipal janelainicial = new FrmPrincipal(ctxt_login.getText(), 4);
- janelainicial.setVisible(true);
- dispose();
- }
- else{ // BUSCA USUÁRIOS NO BANCO
- registros = conexao.listaArrayList("select * from usuario where nomeusuario like'"+ctxt_login.getText()+"%'");
- if(registros.size() == 1){
- registro = registros.get(0);
- if(registro.getNome().equals(ctxt_login.getText()) && registro.getSenha().equals(ctxt_senha.getText())){
- FrmPrincipal janelainicial = new FrmPrincipal(ctxt_login.getText(), registro.getNvlAcesso());
- janelainicial.setVisible(true);
- dispose();
- }
- else{
- JOptionPane.showMessageDialog(null, "Senha incorreta!");
- }
- }
- else{ // USUÁRIO NAO ENCONTRADO NO BANCO E NÃO É O SUPER USUÁRIO
- JOptionPane.showMessageDialog(null, "Usuário ou senha incorreta!");
- }
- }
- }
- package classes_persistencia;
- import classes_registros.Agenda;
- import classes_registros.Usuario;
- import com.sun.rowset.CachedRowSetImpl;
- import java.sql.*;
- import java.util.ArrayList;
- import javax.sql.rowset.CachedRowSet;
- import javax.swing.JOptionPane;
- /**
- *
- * @author Antonio
- *
- */
- public class UsuarioDAO {
- //Toda classe DAO, começar com as duas linhas abaixo.
- FabricaConexao trataConexao = new FabricaConexao(); //cria o objeto FabricaConexao que tratará as conexões com o banco
- Connection conexao; //Cria um objeto do tipo Connection para guardar os Statements
- //construtor do objeto DAO (por enquanto sem necessidade de instrucoes)
- public UsuarioDAO(){
- }
- //Para cada método que criarmos, vamos pedir a quantidade correta de parâmetros para a camada de visão
- //Abaixo o método INSERT que retornará um Inteiro Longo com o número ID gerado pelo SGBD
- //e pedimos como parâmetros todos os campos da classe Agenda , exceto o campo ID
- public Long insere(String nome,
- String email,
- String cpf,
- String foneRes,
- String foneCel,
- String senha,
- int nvlAcesso){
- //instanciamos o objeto nova Agenda e passamos os parametros recebidos para o construtor
- Usuario novoUsuario = new Usuario(nome, email, cpf, foneRes, foneCel, senha, nvlAcesso);
- ResultSet rsidGerado = null; //resultset para receber a resposta do SGBD
- Long idGerado = null; //variável tipo Long para guardar o ID criado pelo sgbd que estará no ResultSet
- //Cria e prepara uma string SQL PARAMETRIZADA para INSERT
- //Observe que as interrogações devem ser na mesma quantidade de campos a serem preenchidos.
- String comandoSQL;
- comandoSQL = "insert into usuario (nomeUsuario,"
- + " email,"
- + " cpf,"
- + " foneres,"
- + " fonecel,"
- + " senha,"
- + " nvlacesso)"
- + " values (?,?,?,?,?,?,?)";
- //Abre a conexão com o banco de dados
- conexao = trataConexao.abreConexao();
- //se a conexão não estiver nula, abre e tenta registrar o comando
- if (conexao != null){
- try{
- //cria um objeto do tipo PreparedStatement, ele que vai receber o comando SQL
- PreparedStatement stmt = conexao.prepareStatement(comandoSQL, Statement.RETURN_GENERATED_KEYS);
- //Usamos os métodos GET para preencher os campos parametrizados
- stmt.setString(1, novoUsuario.getNome());
- stmt.setString(2, novoUsuario.getEmail());
- stmt.setString(3, novoUsuario.getCpf());
- stmt.setString(4, novoUsuario.getFoneRes());
- stmt.setString(5, novoUsuario.getFoneCel());
- stmt.setString(6, novoUsuario.getSenha());
- stmt.setInt(7, novoUsuario.getNvlAcesso());
- //a linha abaixo executa e tenta fazer o insert.
- stmt.executeUpdate();
- //o trecho abaixo preenche o ResultSet com o código gerado pelo SGBD
- rsidGerado = stmt.getGeneratedKeys();
- if (rsidGerado.next()) {
- //em seguida, lemos no resultset e guardamos o código criado
- idGerado = (rsidGerado.getLong(1));
- }
- //por fim, fechamos o Statement
- stmt.close();
- }
- catch(SQLException e){ //Deu erro de SQL
- idGerado = null;
- //JOptionPane.showMessageDialog(null, e);
- e.printStackTrace();
- }
- catch(Exception e){ //Deu um erro qualquer
- idGerado = null;
- //JOptionPane.showMessageDialog(null, e);
- e.printStackTrace();
- }
- finally{//sempre criar try/catch/finally e no finally mandar fechar a conexão.
- trataConexao.fechaConexao(conexao);
- }
- }
- else{
- //se a conexão está NULL, vai cair aqui
- JOptionPane.showMessageDialog(null, "Conexão não foi iniciada corretamente (NULL).");
- }
- //colocar o método para fechar conexão também antes do Return
- trataConexao.fechaConexao(conexao);
- return idGerado; //por fim, retornamos o ID que foi gerado pelo sgbd
- }
- package classes_persistencia;
- /**
- *
- * @author daniel
- *
- Esta classe é responsável por abrir e fechar as conexões ao banco de dados.
- As configurações do banco são carregadas do arquivo xml e gravadas durante o método construtor.
- */
- import java.sql.*;
- import javax.swing.*;
- import classes_utilitarias.UtilsArquivo;
- import classes_utilitarias.ConfiguracaoGlobal;
- import com.thoughtworks.xstream.XStream;
- public class FabricaConexao {
- /*
- * //para Postgres
- private static String stringJDBC = "org.postgresql.Driver";
- private static String stringBanco = "jdbc:postgresql://localhost:5432/postgres";
- private static String bdLogin = "postgres";
- private static String bdSenha = "1234";
- */
- //para mysql
- private String stringJDBC = "com.mysql.jdbc.Driver";
- private String stringBanco = "jdbc:mysql://localhost:3306/";
- private String nomeBanco = "Singelo";
- private String bdLogin = "MySQL";
- private String bdSenha = "1234";
- //private Connection conexao; //objeto Connection que será retornado com as informações da conexão aberta
- public FabricaConexao(){
- //Busca as configurações de servidor no arquivo .xml
- XStream xstream = new XStream();
- ConfiguracaoGlobal restauraConfig;
- String xml = "";
- try{
- xml = UtilsArquivo.carregar("singelo.xml");
- }
- catch (Exception e){
- e.printStackTrace();
- }
- restauraConfig = new ConfiguracaoGlobal();
- restauraConfig = (ConfiguracaoGlobal) xstream.fromXML(xml);
- setStringJDBC(restauraConfig.getStringJDBC());
- setStringBanco(restauraConfig.getStringBanco());
- setNomeBanco(restauraConfig.getNomeBanco());
- setBdLogin(restauraConfig.getLoginBanco());
- setBdSenha(restauraConfig.getSenhaBanco());
- }
- //método que inicializa a conexão com o banco e retorna um objeto 'conexao' com os dados do servidor
- public Connection abreConexao(){
- Connection conn = null;
- try{
- Class.forName(getStringJDBC());
- conn = DriverManager.getConnection(getStringBanco()+getNomeBanco(), getBdLogin(), getBdSenha());
- }
- catch(ClassNotFoundException e){
- JOptionPane.showMessageDialog(null, e, "Classe não encontrada!", 0);
- }
- catch(SQLException e){
- JOptionPane.showMessageDialog(null, e, "Erro de SQL!", 0);
- }
- return conn;
- }
- //método que fecha a conexão com o banco
- public void fechaConexao(Connection conn){
- try{
- conn.close();
- }
- catch(SQLException erro){
- JOptionPane.showMessageDialog(null, erro, "Erro ao fechar a conexão com o banco!", 0);
- }
- }
- public String getStringJDBC() {
- return stringJDBC;
- }
- public void setStringJDBC(String stringJDBC) {
- this.stringJDBC = stringJDBC;
- }
- public String getStringBanco() {
- return stringBanco;
- }
- public void setStringBanco(String stringBanco) {
- this.stringBanco = stringBanco;
- }
- public String getNomeBanco() {
- return nomeBanco;
- }
- public void setNomeBanco(String nomeBanco) {
- this.nomeBanco = nomeBanco;
- }
- public String getBdLogin() {
- return bdLogin;
- }
- public void setBdLogin(String bdLogin) {
- this.bdLogin = bdLogin;
- }
- public String getBdSenha() {
- return bdSenha;
- }
- public void setBdSenha(String bdSenha) {
- this.bdSenha = bdSenha;
- }
- }
- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- at java.io.File.<init>(File.java:277)
- at classes_utilitarias.AlteraFundo.<init>(AlteraFundo.java:15)
- at formularios.FrmPrincipal.initComponents(FrmPrincipal.java:91)
- at formularios.FrmPrincipal.<init>(FrmPrincipal.java:64)
- at formularios.FrmLogin.ir(FrmLogin.java:230)
- at formularios.FrmLogin.bt_entrarActionPerformed(FrmLogin.java:137)
- at formularios.FrmLogin.access$000(FrmLogin.java:20)
- at formularios.FrmLogin$1.actionPerformed(FrmLogin.java:69)
- at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
- at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
- 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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
- at java.awt.Component.processMouseEvent(Component.java:6527)
- at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
- at java.awt.Component.processEvent(Component.java:6292)
- at java.awt.Container.processEvent(Container.java:2234)
- at java.awt.Component.dispatchEventImpl(Component.java:4883)
- at java.awt.Container.dispatchEventImpl(Container.java:2292)
- at java.awt.Component.dispatchEvent(Component.java:4705)
- at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
- at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
- at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
- at java.awt.Container.dispatchEventImpl(Container.java:2278)
- at java.awt.Window.dispatchEventImpl(Window.java:2739)
- at java.awt.Component.dispatchEvent(Component.java:4705)
- at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
- at java.awt.EventQueue.access$400(EventQueue.java:97)
- at java.awt.EventQueue$3.run(EventQueue.java:697)
- at java.awt.EventQueue$3.run(EventQueue.java:691)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
- at java.awt.EventQueue$4.run(EventQueue.java:719)
- at java.awt.EventQueue$4.run(EventQueue.java:717)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
- at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
- 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)
- CONSTRUÍDO COM SUCESSO (tempo total: 50 segundos)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement