Advertisement
Guest User

Untitled

a guest
Jun 9th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.44 KB | None | 0 0
  1. package formularios;
  2.  
  3. import classes_persistencia.UsuarioDAO;
  4. import classes_registros.Usuario;
  5. import classes_utilitarias.JanelaDialogo;
  6. import classes_utilitarias.RedimensionaImagem;
  7. import java.awt.Image;
  8. import java.io.File;
  9. import java.io.FileNotFoundException;
  10. import java.io.IOException;
  11. import java.sql.ResultSet;
  12. import java.sql.SQLException;
  13. import java.util.ArrayList;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.imageio.ImageIO;
  17. import javax.swing.ImageIcon;
  18. import javax.swing.JOptionPane;
  19.  
  20. public class FrmLogin extends javax.swing.JFrame {
  21. private UsuarioDAO conexao = new UsuarioDAO();
  22. private ResultSet listagem;
  23. private ArrayList<Usuario> registros = new ArrayList<Usuario>();
  24. private Usuario registro = new Usuario();
  25. private FrmPesquisa encontrados;
  26. private JanelaDialogo dialogo = new JanelaDialogo();
  27.  
  28. public FrmLogin() {
  29. initComponents();
  30. setLocationRelativeTo( null );
  31. }
  32.  
  33.  
  34. @SuppressWarnings("unchecked")
  35. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  36. private void initComponents() {
  37.  
  38. lbl_login = new javax.swing.JLabel();
  39. lbl_senha = new javax.swing.JLabel();
  40. bt_entrar = new javax.swing.JButton();
  41. bt_esquecisenha = new javax.swing.JButton();
  42. ctxt_senha = new javax.swing.JPasswordField();
  43. ctxt_login = new javax.swing.JTextField();
  44. lbl_dicaBusca_login = new javax.swing.JLabel();
  45. bt_listaUsuarios = new javax.swing.JButton();
  46. jPanel1 = new javax.swing.JPanel();
  47. lbl_logo_singelo = new javax.swing.JLabel();
  48.  
  49. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  50. setTitle("SINGELO 1.0");
  51. setPreferredSize(new java.awt.Dimension(293, 220));
  52. setResizable(false);
  53. getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  54.  
  55. lbl_login.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
  56. lbl_login.setText("Login:");
  57. getContentPane().add(lbl_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(28, 60, -1, -1));
  58.  
  59. lbl_senha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
  60. lbl_senha.setText("Senha:");
  61. getContentPane().add(lbl_senha, new org.netbeans.lib.awtextra.AbsoluteConstraints(25, 100, -1, -1));
  62.  
  63. bt_entrar.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
  64. bt_entrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/login.png"))); // NOI18N
  65. bt_entrar.setText("Entrar");
  66. bt_entrar.setToolTipText("Entrar");
  67. bt_entrar.addActionListener(new java.awt.event.ActionListener() {
  68. public void actionPerformed(java.awt.event.ActionEvent evt) {
  69. bt_entrarActionPerformed(evt);
  70. }
  71. });
  72. bt_entrar.addKeyListener(new java.awt.event.KeyAdapter() {
  73. public void keyPressed(java.awt.event.KeyEvent evt) {
  74. bt_entrarKeyPressed(evt);
  75. }
  76. });
  77. getContentPane().add(bt_entrar, new org.netbeans.lib.awtextra.AbsoluteConstraints(3, 150, 110, 30));
  78.  
  79. bt_esquecisenha.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
  80. bt_esquecisenha.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/help.png"))); // NOI18N
  81. bt_esquecisenha.setText("Esqueceu a senha?");
  82. bt_esquecisenha.setToolTipText("Esqueceu a senha?");
  83. bt_esquecisenha.addActionListener(new java.awt.event.ActionListener() {
  84. public void actionPerformed(java.awt.event.ActionEvent evt) {
  85. bt_esquecisenhaActionPerformed(evt);
  86. }
  87. });
  88. getContentPane().add(bt_esquecisenha, new org.netbeans.lib.awtextra.AbsoluteConstraints(125, 150, 150, 30));
  89.  
  90. ctxt_senha.addKeyListener(new java.awt.event.KeyAdapter() {
  91. public void keyPressed(java.awt.event.KeyEvent evt) {
  92. ctxt_senhaKeyPressed(evt);
  93. }
  94. });
  95. getContentPane().add(ctxt_senha, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 95, 160, -1));
  96.  
  97. ctxt_login.addFocusListener(new java.awt.event.FocusAdapter() {
  98. public void focusLost(java.awt.event.FocusEvent evt) {
  99. ctxt_loginFocusLost(evt);
  100. }
  101. });
  102. ctxt_login.addKeyListener(new java.awt.event.KeyAdapter() {
  103. public void keyPressed(java.awt.event.KeyEvent evt) {
  104. ctxt_loginKeyPressed(evt);
  105. }
  106. public void keyReleased(java.awt.event.KeyEvent evt) {
  107. ctxt_loginKeyReleased(evt);
  108. }
  109. });
  110. getContentPane().add(ctxt_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 55, 160, -1));
  111.  
  112. lbl_dicaBusca_login.setFont(new java.awt.Font("Tahoma", 1, 8)); // NOI18N
  113. getContentPane().add(lbl_dicaBusca_login, new org.netbeans.lib.awtextra.AbsoluteConstraints(68, 83, 150, 10));
  114.  
  115. bt_listaUsuarios.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
  116. bt_listaUsuarios.setText("?");
  117. bt_listaUsuarios.setToolTipText("Lista de usuários logados");
  118. bt_listaUsuarios.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
  119. bt_listaUsuarios.addActionListener(new java.awt.event.ActionListener() {
  120. public void actionPerformed(java.awt.event.ActionEvent evt) {
  121. bt_listaUsuariosActionPerformed(evt);
  122. }
  123. });
  124. getContentPane().add(bt_listaUsuarios, new org.netbeans.lib.awtextra.AbsoluteConstraints(225, 55, 40, 28));
  125.  
  126. jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
  127. getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 270, 90));
  128.  
  129. lbl_logo_singelo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/LogoLoginCorreta.JPG"))); // NOI18N
  130. getContentPane().add(lbl_logo_singelo, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 290, 40));
  131.  
  132. pack();
  133. }// </editor-fold>
  134.  
  135. private void bt_entrarActionPerformed(java.awt.event.ActionEvent evt) {
  136. try {
  137. ir();
  138. } catch (FileNotFoundException ex) {
  139. Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
  140. } catch (IOException ex) {
  141. Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
  142. }
  143. }
  144.  
  145. private void ctxt_senhaKeyPressed(java.awt.event.KeyEvent evt) {
  146. if (evt.getKeyCode() == evt.VK_ENTER){
  147. try {
  148. ir();
  149. } catch (FileNotFoundException ex) {
  150. Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
  151. } catch (IOException ex) {
  152. Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
  153. }
  154. }
  155. }
  156.  
  157. public void ir() throws FileNotFoundException, IOException{
  158. String senha = "123"; // SENHA E LOGIN DE SUPER USUÁRIO
  159. if(ctxt_login.getText().equals(senha) && ctxt_senha.getText().equals(senha)){
  160. FrmPrincipal janelainicial = new FrmPrincipal(ctxt_login.getText(), 4);
  161. janelainicial.setVisible(true);
  162. dispose();
  163. }
  164. else{ // BUSCA USUÁRIOS NO BANCO
  165. registros = conexao.listaArrayList("select * from usuario where nomeusuario like'"+ctxt_login.getText()+"%'");
  166. if(registros.size() == 1){
  167. registro = registros.get(0);
  168. if(registro.getNome().equals(ctxt_login.getText()) && registro.getSenha().equals(ctxt_senha.getText())){
  169. FrmPrincipal janelainicial = new FrmPrincipal(ctxt_login.getText(), registro.getNvlAcesso());
  170. janelainicial.setVisible(true);
  171. dispose();
  172. }
  173. else{
  174. JOptionPane.showMessageDialog(null, "Senha incorreta!");
  175. }
  176. }
  177. else{ // USUÁRIO NAO ENCONTRADO NO BANCO E NÃO É O SUPER USUÁRIO
  178. JOptionPane.showMessageDialog(null, "Usuário ou senha incorreta!");
  179. }
  180.  
  181. }
  182. }
  183.  
  184. package classes_utilitarias;
  185.  
  186. import java.awt.Graphics;
  187. import java.awt.Image;
  188. import java.awt.Toolkit;
  189. import java.io.File;
  190. import javax.swing.JDesktopPane;
  191.  
  192.  
  193. public class AlteraFundo extends JDesktopPane {
  194.  
  195. Image img;
  196.  
  197. public AlteraFundo(String caminho){
  198. File imagem = new File(caminho);
  199. try
  200. {
  201. img = javax.imageio.ImageIO.read(imagem);
  202. }
  203. catch(Exception e){}//do nothing
  204. }
  205. public void paintComponent(Graphics g)
  206. {
  207. super.paintComponent(g);
  208. if(img != null) g.drawImage(img, 0,0,this.getWidth(),this.getHeight(),this);
  209. else g.drawString("", 50,50);
  210. }
  211. }
  212.  
  213. package classes_persistencia;
  214. /**
  215. *
  216. * @author daniel
  217. *
  218. Esta classe é responsável por abrir e fechar as conexões ao banco de dados.
  219. As configurações do banco são carregadas do arquivo xml e gravadas durante o método construtor.
  220. */
  221.  
  222. import java.sql.*;
  223. import javax.swing.*;
  224. import classes_utilitarias.UtilsArquivo;
  225. import classes_utilitarias.ConfiguracaoGlobal;
  226. import com.thoughtworks.xstream.XStream;
  227.  
  228.  
  229. public class FabricaConexao {
  230. /*
  231. * //para Postgres
  232. private static String stringJDBC = "org.postgresql.Driver";
  233. private static String stringBanco = "jdbc:postgresql://localhost:5432/postgres";
  234. private static String bdLogin = "postgres";
  235. private static String bdSenha = "1234";
  236. */
  237.  
  238. //para mysql
  239. private String stringJDBC = "com.mysql.jdbc.Driver";
  240. private String stringBanco = "jdbc:mysql://localhost:3306/";
  241. private String nomeBanco = "Singelo";
  242. private String bdLogin = "MySQL";
  243. private String bdSenha = "1234";
  244.  
  245.  
  246. //private Connection conexao; //objeto Connection que será retornado com as informações da conexão aberta
  247.  
  248. public FabricaConexao(){
  249. //Busca as configurações de servidor no arquivo .xml
  250. XStream xstream = new XStream();
  251. ConfiguracaoGlobal restauraConfig;
  252. String xml = "";
  253.  
  254. try{
  255. xml = UtilsArquivo.carregar("singelo.xml");
  256. }
  257. catch (Exception e){
  258. e.printStackTrace();
  259. }
  260.  
  261. restauraConfig = new ConfiguracaoGlobal();
  262. restauraConfig = (ConfiguracaoGlobal) xstream.fromXML(xml);
  263.  
  264. setStringJDBC(restauraConfig.getStringJDBC());
  265. setStringBanco(restauraConfig.getStringBanco());
  266. setNomeBanco(restauraConfig.getNomeBanco());
  267. setBdLogin(restauraConfig.getLoginBanco());
  268. setBdSenha(restauraConfig.getSenhaBanco());
  269.  
  270. }
  271.  
  272. //método que inicializa a conexão com o banco e retorna um objeto 'conexao' com os dados do servidor
  273. public Connection abreConexao(){
  274. Connection conn = null;
  275. try{
  276. Class.forName(getStringJDBC());
  277. conn = DriverManager.getConnection(getStringBanco()+getNomeBanco(), getBdLogin(), getBdSenha());
  278. }
  279. catch(ClassNotFoundException e){
  280. JOptionPane.showMessageDialog(null, e, "Classe não encontrada!", 0);
  281. }
  282. catch(SQLException e){
  283. JOptionPane.showMessageDialog(null, e, "Erro de SQL!", 0);
  284. }
  285.  
  286. return conn;
  287. }
  288.  
  289. //método que fecha a conexão com o banco
  290. public void fechaConexao(Connection conn){
  291. try{
  292. conn.close();
  293. }
  294. catch(SQLException erro){
  295. JOptionPane.showMessageDialog(null, erro, "Erro ao fechar a conexão com o banco!", 0);
  296. }
  297. }
  298.  
  299.  
  300.  
  301.  
  302. public String getStringJDBC() {
  303. return stringJDBC;
  304. }
  305.  
  306. public void setStringJDBC(String stringJDBC) {
  307. this.stringJDBC = stringJDBC;
  308. }
  309.  
  310. public String getStringBanco() {
  311. return stringBanco;
  312. }
  313.  
  314. public void setStringBanco(String stringBanco) {
  315. this.stringBanco = stringBanco;
  316. }
  317.  
  318. public String getNomeBanco() {
  319. return nomeBanco;
  320. }
  321.  
  322. public void setNomeBanco(String nomeBanco) {
  323. this.nomeBanco = nomeBanco;
  324. }
  325.  
  326. public String getBdLogin() {
  327. return bdLogin;
  328. }
  329.  
  330. public void setBdLogin(String bdLogin) {
  331. this.bdLogin = bdLogin;
  332. }
  333.  
  334. public String getBdSenha() {
  335. return bdSenha;
  336. }
  337.  
  338. public void setBdSenha(String bdSenha) {
  339. this.bdSenha = bdSenha;
  340. }
  341.  
  342.  
  343.  
  344.  
  345.  
  346. }
  347.  
  348. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  349. at java.io.File.<init>(File.java:277)
  350. at classes_utilitarias.AlteraFundo.<init>(AlteraFundo.java:15)
  351. at formularios.FrmPrincipal.initComponents(FrmPrincipal.java:91)
  352. at formularios.FrmPrincipal.<init>(FrmPrincipal.java:64)
  353. at formularios.FrmLogin.ir(FrmLogin.java:230)
  354. at formularios.FrmLogin.bt_entrarActionPerformed(FrmLogin.java:137)
  355. at formularios.FrmLogin.access$000(FrmLogin.java:20)
  356. at formularios.FrmLogin$1.actionPerformed(FrmLogin.java:69)
  357. at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
  358. at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
  359. at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
  360. at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
  361. at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
  362. at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
  363. at java.awt.Component.processMouseEvent(Component.java:6527)
  364. at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
  365. at java.awt.Component.processEvent(Component.java:6292)
  366. at java.awt.Container.processEvent(Container.java:2234)
  367. at java.awt.Component.dispatchEventImpl(Component.java:4883)
  368. at java.awt.Container.dispatchEventImpl(Container.java:2292)
  369. at java.awt.Component.dispatchEvent(Component.java:4705)
  370. at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
  371. at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
  372. at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
  373. at java.awt.Container.dispatchEventImpl(Container.java:2278)
  374. at java.awt.Window.dispatchEventImpl(Window.java:2739)
  375. at java.awt.Component.dispatchEvent(Component.java:4705)
  376. at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
  377. at java.awt.EventQueue.access$400(EventQueue.java:97)
  378. at java.awt.EventQueue$3.run(EventQueue.java:697)
  379. at java.awt.EventQueue$3.run(EventQueue.java:691)
  380. at java.security.AccessController.doPrivileged(Native Method)
  381. at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
  382. at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
  383. at java.awt.EventQueue$4.run(EventQueue.java:719)
  384. at java.awt.EventQueue$4.run(EventQueue.java:717)
  385. at java.security.AccessController.doPrivileged(Native Method)
  386. at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
  387. at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
  388. at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
  389. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
  390. at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
  391. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  392. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
  393. at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
  394. CONSTRUÍDO COM SUCESSO (tempo total: 50 segundos)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement