第一个文件LogFrame.java
package file.frame;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import file.FileRead;
public class LogFrame {
JFrame frame = new JFrame();
JLabel label_1 = new JLabel("用户:");
JLabel label_2 = new JLabel("密码:");
JTextField textField_1 = new JTextField(15);
JPasswordField textField_2 = new JPasswordField(15);
JButton button = new JButton("登录");
JPanel panel_1 = new JPanel();
JPanel panel_2 = new JPanel();
JPanel panel_3 = new JPanel();
JPanel panel_4 = new JPanel();
public void init() {
panel_1.setLayout(new FlowLayout());
panel_1.add(label_1);
panel_1.add(textField_1);
panel_2.setLayout(new FlowLayout());
panel_2.add(label_2);
panel_2.add(textField_2);
panel_3.setLayout(new BorderLayout());
panel_3.add(panel_1, BorderLayout.NORTH);
panel_3.add(panel_2, BorderLayout.SOUTH);
panel_4.add(button);
frame.setLayout(new BorderLayout());
frame.add(panel_3, BorderLayout.NORTH);
frame.add(panel_4, BorderLayout.SOUTH);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (testUser() && testPassword()) {
new PromtFrame("登录成功!").init();
frame.setVisible(false);
} else {
frame.setVisible(false);
new PromtFrame("登录信息有误,请重新输入!").init();
new Timer().schedule(new TimerTask() {<span style="color:#FF6666;">//这里是让窗口2s钟后自动消失</span>
public void run() {
frame.setVisible(true);
}
}, 2000);
}
}
});
frame.setBounds(200, 200, 450, 300);
frame.setSize(300, 160);
frame.setVisible(true);
}
public boolean testUser() {
String strOne = textField_1.getText();
// System.out.println(strOne);
String strTwo = new FileRead("user.data").fileContent().fileToString()
.toString();<span style="color:#FF6666;">//将本地存储的用户名读出</span>
// System.out.println(strTwo);
if (strOne.equals(strTwo))
return true;
else
return false;
}
public boolean testPassword() {
String strOne = String.valueOf(textField_2.getPassword());
// System.out.println(strOne);
String strTwo = new FileRead("psw.data").fileContent().fileToString()
.toString();<span style="color:#FF6666;">//将本地存储的密码读出</span>
// System.out.println(strTwo);
if (strOne.equals(strTwo))
return true;
else
return false;
}
public static void main(String[] args) {
new LogFrame().init();
}
}
执行的结果是这样的
第二个文件是 PromtFrame.java
package file.frame;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JDialog;
import javax.swing.JLabel;
public class PromtFrame {
JDialog frame = new JDialog();
private String name;
private JLabel label;
public PromtFrame(String promt) {
this.name = promt;
label = new JLabel(name, JLabel.CENTER);
}
public void init() {
frame.add(label);
frame.setBounds(100, 100, 450, 300);
frame.setSize(200, 100);
frame.setVisible(true);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
frame.setVisible(false);
}
}, 1000);
}
public static void main(String[] args) {
new PromtFrame("nihao......").init();
}
}
这个类主要是配合第一个类进行工作的:
标签文字是可以改的。就是登录失败的时候
<span style="color:#FF6666;">new PromtFrame("登录信息有误,请重新输入!").init();</span>
成功的时候是
new PromtFrame("登录成功!").init();
但登陆成功之后,就可以让开始其他任务了。