1 package cn.com.view; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.SystemColor; 6 import java.awt.Toolkit; 7 import java.awt.event.ActionEvent; 8 import java.awt.event.MouseEvent; 9 10 import javax.swing.ImageIcon; 11 import javax.swing.JButton; 12 import javax.swing.JFrame; 13 import javax.swing.JLabel; 14 import javax.swing.JOptionPane; 15 import javax.swing.JPanel; 16 import javax.swing.JPasswordField; 17 import javax.swing.JProgressBar; 18 import javax.swing.JTextField; 19 20 import sun.awt.HorizBagLayout; 21 22 23 import cn.com.beans.UserInfoBean; 24 import cn.com.beans.UserInfoViewBean; 25 import cn.com.daos.UserInfoDAO; 26 import cn.com.listeners.LoginFrame_btnLogin_ActionListener; 27 import cn.com.listeners.LoginFrame_btnReset_ActionListener; 28 import cn.com.listeners.LoginFrame_lblRegist_MouseListener; 29 30 31 public class LoginFrame extends JFrame { 32 JPanel pnlMain; 33 JButton btnLogin; 34 JButton btnReset; 35 JLabel lblUserName; 36 JLabel lblUserPwd; 37 JLabel lblTitle; 38 JLabel lblRegist; 39 JTextField txtUserName; 40 JPasswordField pwdUserPwd; 41 JProgressBar progressBar; 42 JLabel lblLoginStat; 43 44 public LoginFrame() { 45 pnlMain = new JPanel(null); 46 btnLogin = new JButton("登录"); 47 btnReset = new JButton("重置"); 48 lblUserName = new JLabel("用户名:"); 49 lblUserPwd = new JLabel("密 码:"); 50 lblTitle = new JLabel("用户登录"); 51 lblRegist = new JLabel("注册"); 52 txtUserName = new JTextField(); 53 pwdUserPwd = new JPasswordField(); 54 progressBar = new JProgressBar(); 55 progressBar.setIndeterminate(false); 56 progressBar.setOrientation(JProgressBar.HORIZONTAL); 57 progressBar.setForeground(new Color(0, 255, 0)); 58 progressBar.setBounds(286, 348, 146, 14); 59 init(); 60 } 61 62 private void init() { 63 // TODO Auto-generated method stub 64 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 65 setIconImage(Toolkit.getDefaultToolkit().getImage("image\e.jpg")); 66 this.setBounds(100, 100, 559, 351); 67 this.setLocationRelativeTo(null); 68 this.setResizable(false); 69 this.getContentPane().setLayout(null); 70 getContentPane().setBackground(new Color(255, 255, 255)); 71 72 73 JLabel label = new JLabel("人事管理系统用户登录"); 74 label.setFont(new Font("楷体", Font.PLAIN, 40)); 75 label.setBackground(Color.WHITE); 76 label.setBounds(79, 10, 400, 43); 77 this.getContentPane().add(label); 78 79 JLabel lblNewLabel = new JLabel("图片"); 80 lblNewLabel.setBounds(10, 63, 250, 250); 81 this.getContentPane().add(lblNewLabel); 82 lblNewLabel.setIcon(new ImageIcon("D:\Workspaces\PMSys\image\login.jpg")); 83 84 JLabel lblUserName = new JLabel("用户名:"); 85 lblUserName.setFont(new Font("华文楷体", Font.BOLD, 15)); 86 lblUserName.setBounds(270, 100, 65, 28); 87 this.getContentPane().add(lblUserName); 88 89 JLabel lblUserPwd = new JLabel("密 码:"); 90 lblUserPwd.setFont(new Font("华文楷体", Font.BOLD, 15)); 91 lblUserPwd.setBounds(270, 163, 65, 25); 92 this.getContentPane().add(lblUserPwd); 93 94 txtUserName = new JTextField(); 95 txtUserName.setText("请输入用户名"); 96 txtUserName.setBounds(345, 97, 173, 31); 97 txtUserName.setBackground(new Color(255, 255, 204)); 98 this.getContentPane().add(txtUserName); 99 txtUserName.setColumns(10); 100 101 pwdUserPwd = new JPasswordField(); 102 pwdUserPwd.setFont(new Font("宋体", Font.BOLD, 20)); 103 pwdUserPwd.setBounds(345, 160, 173, 28); 104 pwdUserPwd.setBackground(new Color(255, 255, 204)); 105 this.getContentPane().add(pwdUserPwd); 106 107 JButton btnLogin = new JButton("登录"); 108 109 btnLogin.setBounds(272, 217, 93, 43); 110 this.getContentPane().add(btnLogin); 111 112 JButton btnReset = new JButton("重置"); 113 114 btnReset.setBounds(427, 217, 93, 43); 115 this.getContentPane().add(btnReset); 116 117 lblLoginStat = new JLabel("登录中>>>>"); 118 lblLoginStat.setForeground(Color.RED); 119 lblLoginStat.setFont(new Font("华文楷体", Font.BOLD, 15)); 120 lblLoginStat.setBounds(270,270,246,14); 121 this.getContentPane().add(lblLoginStat); 122 lblLoginStat.setVisible(false); 123 124 progressBar.setBounds(272,284,246,14); 125 progressBar.setIndeterminate(true); 126 progressBar.setVisible(false); 127 this.getContentPane().add(progressBar); 128 this.setVisible(true); 129 130 //添加监听事件 131 btnLogin.addActionListener(new LoginFrame_btnLogin_ActionListener(this)); 132 btnReset.addActionListener(new LoginFrame_btnReset_ActionListener(this)); 133 lblRegist.addMouseListener(new LoginFrame_lblRegist_MouseListener(this)); 134 } 135 136 public void btnLogin_actionPerformed(ActionEvent e){ 137 // TODO Auto-generated method stub 138 139 progressBar.setVisible(true); 140 lblLoginStat.setVisible(true); 141 UserInfoDAO dao = new UserInfoDAO(); 142 String userName = this.txtUserName.getText(); 143 String userPwd = new String(this.pwdUserPwd.getPassword()); 144 if(dao.validateByNameAndPwd(userName, userPwd)) { 145 UserInfoViewBean ab = dao.getUserListInfoByUserName(userName); 146 new MainFrame(ab); 147 this.dispose(); 148 }else { 149 // JOptionPane.showMessageDialog(null, "用户名或密码错误","错误",JOptionPane.ERROR_MESSAGE); 150 int n = JOptionPane.showConfirmDialog(null, "密码错误,是否重新登录?", "提示",JOptionPane.YES_NO_OPTION); 151 if(n == 0){ 152 //progressBar.setIndeterminate(false); 153 progressBar.setVisible(false); 154 lblLoginStat.setVisible(false); 155 }else{ 156 System.exit(0); 157 } 158 159 } 160 } 161 //重置监听事件 162 public void btnReset_actionPerformed(ActionEvent e) { 163 // TODO Auto-generated method stub 164 this.txtUserName.setText(""); 165 this.pwdUserPwd.setText(""); 166 } 167 168 public void lblRegist_mouseClicked(MouseEvent e) { 169 } 170 171 }