package yaopin;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import model.*;
public class Login extends JFrame implements Runnable, ActionListener
{
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabelName, jLabelPwd, jLabelIcon, jLabelImage;
private JTextField jtxtName;
private JPasswordField jPassword;
private JButton jBtnOK, jBtnCancel;
private Main main = null;
public static void main(String[] args)
{
Login login = new Login();
login.setVisible(true);
Thread thread=new Thread(login);
thread.run();
thread.start();
}
public Login()
{
super();
this.setName("药品库存管理系统!");
this.setResizable(false);
this.setBounds(400, 200, 375, 240);
this.setContentPane(getJContentPane());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private JPanel getJContentPane()
{
if (jContentPane == null)
{
ImageIcon image = new ImageIcon();
jLabelIcon = new JLabel(image);
jLabelIcon.setBounds(new Rectangle(0, 0, 75, 75));
image = new ImageIcon("./image/font.png");
jLabelImage = new JLabel(image);
jLabelImage.setBounds(new Rectangle(10, 65, 75, 75));
jLabelName = new JLabel("用户名:");
jLabelName.setBounds(new Rectangle(100, 65, 75, 25));
jLabelPwd = new JLabel("密 码:");
jLabelPwd.setBounds(new Rectangle(100, 100, 75, 25));
jtxtName = new JTextField();
jtxtName.setBounds(new Rectangle(155, 65, 200, 25));
jPassword = new JPasswordField();
jPassword.setBounds(new Rectangle(155, 100, 200, 25));
jBtnOK = new JButton("登录(L)");
jBtnOK.setMnemonic('L');
jBtnOK.setBounds(new Rectangle(130, 150, 77, 23));
jBtnOK.addActionListener(this);
jBtnCancel = new JButton("退出(Q)");
jBtnCancel.setMnemonic('Q');
jBtnCancel.setBounds(new Rectangle(260, 150, 77, 23));
jBtnCancel.addActionListener(this);
jContentPane = new JPanel(null);
jContentPane.add(jLabelImage, null);
jContentPane.add(jLabelName, null);
jContentPane.add(jLabelPwd, null);
jContentPane.add(jtxtName, null);
jContentPane.add(jPassword, null);
jContentPane.add(jBtnOK, null);
jContentPane.add(jBtnCancel, null);
}
return jContentPane;
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource().equals(jBtnOK))
{
UserDTO userDTO = new UserDTO();
userDTO.setUserName(jtxtName.getText());
userDTO.setPassword(String.valueOf((jPassword.getPassword())));
UserDAO userDAO = new UserDAO();
userDAO.setUserDTO(userDTO);
if(userDAO.validate())
{
jtxtName.setText(null);
jPassword.setText(null);
if (main == null)
main = new Main();
main.setVisible(true);
this.dispose();
}
else
{
JOptionPane.showMessageDialog(this,"您输入的用户名或密码不正确,请重新输入。");
jPassword.setText(null);
this.jtxtName.requestFocusInWindow();
jtxtName.selectAll();
}
}
else
{
System.exit(0);
}
}
public void run()
{
while(true)
{
try
{
if (this.getTitle().length() < this.getName().length())
{
this.setTitle(this.getTitle() + this.getName().charAt(this.getTitle().length()));
Thread.sleep(300);
}
if (main != null)
{
main.run();
Thread.sleep(500);
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}