-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gui_ResidentLog.java
125 lines (104 loc) · 2.97 KB
/
Gui_ResidentLog.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package system;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
/**
*
* @author Group009
* @version 1.0
*/
public class Gui_ResidentLog extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
JLabel Label1;
JLabel LabelId;
JLabel LabelPass;
TextField TextId = new TextField(20);
TextField TextPass = new TextField(20);
JButton check;
JButton back;
JButton Exit;
int flagId = 0;
int flagPass = 0;
int sequence = 0;
ProvSy pro;
/**
*
* @param pro the whole system
*/
public Gui_ResidentLog(Object pro) {
this.pro=(ProvSy) pro;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel j1 = new JPanel();
j1.setLayout(new GridLayout(3,1));
Label1 = new JLabel("As a resident, please input your id and password:");
LabelId = new JLabel("ID: ");
LabelPass = new JLabel("Password: ");
check = new JButton("Check");
back = new JButton("Back");
Exit = new JButton("Exit");
contentPane.add(j1,BorderLayout.CENTER);
contentPane.add(Label1,BorderLayout.NORTH);
contentPane.add(Exit,BorderLayout.SOUTH);
j1.add(LabelId);
j1.add(TextId);
j1.add(LabelPass);
j1.add(TextPass);
j1.add(check);
j1.add(back);
setVisible(true);
j1.setVisible(true);
check.addActionListener(this);
back.addActionListener(this);
Exit.addActionListener(this);
}
public void actionPerformed(ActionEvent event) {
String idText = TextId.getText().trim();
String passText = TextPass.getText().trim();
if(event.getSource() == check){
ArrayList<String> login = new ArrayList<String>();
login=Meter.read("resource\\HouseholdInfo.txt");
for(int i=0; i<login.size();i++){
String[] dataFile = login.get(i).split(",");
if(dataFile[0].equals(idText)==true){
sequence = Integer.parseInt(dataFile[0]);// dataFile[sequence] stored i
if(dataFile[1].equals(passText)==true)
flagPass=1;
}
}
if(flagPass !=1){
Label1.setText("Error! Either your id or password is wrong. Please try again:");
TextId.setText("");
TextPass.setText("");
}
else if(flagPass == 1){
new Gui_ResidentFunction(this.pro,sequence);
dispose();
}
}
else if(event.getSource() == back){
new Gui_welcome(this.pro);
dispose();
}
else if(event.getSource() == Exit){
dispose();
}
// TODO Auto-generated method stub
}
}