package comATM;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
* 登录
* @author Administrator
*
*/
public class AtmLoginInterface extends JFrame implements ActionListener {
private Icon imageLogin = new ImageIcon("images/buttonLogin.jpg");
private Icon imageLand = new ImageIcon("images/buttonLand.jpg");
private JTextField userNameText;
private JPasswordField userpwdText;
private ArrayList<User> users;
private ArrayList<User> arrayList;
/**
* 构造器
*/
public AtmLoginInterface(){
readerUserData();
JPanel jpanel = setBgImg();
jpanel.setLayout(null);
//用户名标签及其文本框
JLabel userNameLabel = new JLabel("用户名:");
userNameLabel.setFont(new Font("宋体",Font.BOLD,30));//字体大小设置
userNameLabel.setForeground(Color.decode("#000000"));//字体颜色设置
userNameLabel.setBounds(350,430,128,40);
jpanel.add(userNameLabel);
userNameText = new JTextField();
userNameText.setBounds(470,430,150,40);
jpanel.add(userNameText);
//密码标签及其密码框
JLabel userpwdLabel = new JLabel("密码:");
userpwdLabel.setFont(new Font("宋体",Font.BOLD,30));//字体大小设置
userpwdLabel.setForeground(Color.decode("#000000"));//字体颜色设置
userpwdLabel.setBounds(350,480,128,40);
jpanel.add(userpwdLabel);
userpwdText = new JPasswordField();
userpwdText.setBounds(470,480,150,40);
jpanel.add(userpwdText);
//按钮"登陆", "注册"
JButton loginButton = new JButton(imageLogin);
loginButton.setBounds(350,540,140,50);
jpanel.add(loginButton);
loginButton.addActionListener(this);
JButton landButton = new JButton(imageLand);
landButton.setBounds(583,540,140,50);
jpanel.add(landButton);
//容器初始化
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.setLocationRelativeTo(null);
this.setSize(1024, 768);
this.setVisible(true);
}
/**
* 连接数据
*/
private void readerUserData() {
Object object = UserDataSer.readUserData();
if(object == null){
arrayList = new ArrayList<User>();
arrayList.add(new User(1111, 9999, 0));
arrayList.add(new User(2222, 8888, 0));
arrayList.add(new User(3333, 7777, 0));
UserDataSer.writeUserData(arrayList);
users = (ArrayList<User>)UserDataSer.readUserData();
}else{
users = (ArrayList<User>)object;
}
}
/**
*设置背景的方法 界面
* @return
*/
public JPanel setBgImg(){
JPanel panel = new JPanel(){
@Override
protected void paintComponent(Graphics g) {
g.drawImage(new ImageIcon("images/background.jpg").getImage(), 0, 0, this);
}
};
this.add(panel);
return panel;
}
/* (non-Javadoc)
* 重写方法事件处理
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < users.size(); i++) {
if ((users.get(i).getAccount()+"").equals(userNameText.getText())
&& (users.get(i).getPwd()+"").equals(new String(userpwdText.getPassword()))){
new AtmMenuInterface(users.get(i),users);
//关闭窗口
this.dispose();
return;
}
}
JOptionPane.showMessageDialog(null,"输入有误!" );
}
public static void main(String[] args) {
new AtmLoginInterface();
}
}