mywindows.java
import java.awt.*;
import java.io.File;
import java.io.FileInputStream;
public class mywindows {
public static void main(String[] args) {
Registerwindows newwindow=new Registerwindows();
WFrame mywin=new WFrame();
}
}
WFrame.java
import java.awt.*;
import java.util.Random;
import javax.swing.*;
public class WFrame extends JFrame {
Panel panel1;
JButton button1, button2, button3;
JTextField texbook1, texbook2;
JPasswordField password1;
JLabel label1, label2, label3, label4;
AncestBut listebut;
String radom;
public WFrame() {
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
intform();
intEvent();
}
void intform() {
setTitle("登录窗口");
panel1 = new Panel();
panel1.setSize(400, 250);
Toolkit kit = Toolkit.getDefaultToolkit(); // 定义工具包
Dimension screenSize = kit.getScreenSize(); // 获取屏幕的尺寸
int screenWidth = screenSize.width / 2; // 获取屏幕的宽
int screenHeight = screenSize.height / 2; // 获取屏幕的高
setLocation(screenWidth / 2, screenHeight / 2);
panel1.setLayout(null);
label1 = new JLabel("用户名:");
label1.setBounds(50, 20, 50, 20);
panel1.add(label1);
texbook1 = new JTextField();
texbook1.setBounds(100, 20, 150, 20);
panel1.add(texbook1);
label2 = new JLabel("密码: ");
label2.setBounds(50, 50, 50, 20);
panel1.add(label2);
password1 = new JPasswordField(10);
password1.setEchoChar('*');
password1.setBounds(100, 50, 150, 20);
panel1.add(password1);
label3 = new JLabel("验证码:");
label3.setBounds(50, 80, 50, 20);
panel1.add(label3);
texbook2 = new JTextField();
texbook2.setBounds(100, 80, 50, 20);
panel1.add(texbook2);
Random rd = new Random();
radom = Integer.toString(rd.nextInt(8999) + 1000);
label4 = new JLabel(radom);
label4.setBounds(200, 80, 40, 20);
panel1.add(label4);
button1 = new JButton("确定");
button1.setBounds(50, 120, 60, 20);
panel1.add(button1);
button2 = new JButton("重置");
button2.setBounds(120, 120, 60, 20);
panel1.add(button2);
button3 = new JButton("注册");
button3.setBounds(190, 120, 60, 20);
panel1.add(button3);
add(panel1);
pack();
}
void intEvent() {
listebut = new AncestBut();
listebut.setpassword1text(password1);
listebut.settextbook1text(texbook1);
listebut.settextbook2text(texbook2);
listebut.setlabel4(label4);
listebut.setbutton1(button1);
listebut.setbutton2(button2);
listebut.setbutton3(button3);
listebut.setform(this);
button1.addActionListener(listebut);
button2.addActionListener(listebut);
button3.addActionListener(listebut);
}
}
AncestBut.java
import java.awt.event.*;
import java.io.*;
import java.util.Arrays;
import java.util.Random;
import javax.swing.*;
public class AncestBut implements ActionListener {
JPasswordField pass;
JTextField text1, text2;
JLabel label4;
JButton button1, button2, button3;
WFrame form;
public void setpassword1text(JPasswordField pass) {
this.pass = pass;
}
public void settextbook1text(JTextField text1) {
this.text1 = text1;
}
public void settextbook2text(JTextField text2) {
this.text2 = text2;
}
public void setlabel4(JLabel label4) {
this.label4 = label4;
}
public void setbutton1(JButton button1) {
this.button1 = button1;
}
public void setbutton2(JButton button2) {
this.button2 = button2;
}
public void setbutton3(JButton button3) {
this.button3 = button3;
}
public void setform(WFrame form) {
this.form = form;
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
try {
File file = new File("User.txt");
if (!file.exists())
file.createNewFile();
FileReader in = new FileReader(file);
BufferedReader filein = new BufferedReader(in);
String name, password;
while ((name = filein.readLine()) != null) {
if (!text1.getText().equals(name)) {
JOptionPane.showMessageDialog(null, "用户名错误,请重新输入。", "",
JOptionPane.WARNING_MESSAGE);
text1.setText(null);
text1.setFocusable(true);
return;
}
password = filein.readLine();
if (!Arrays.equals(pass.getPassword(),
password.toCharArray())) {
JOptionPane.showMessageDialog(null, "密码错误,请重新输入。", "",
JOptionPane.WARNING_MESSAGE);
pass.setText(null);
pass.setFocusable(true);
return;
}
in.close();
filein.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
if (!text2.getText().equals(label4.getText())) {
Random rd = new Random();
label4.setText(Integer.toString(rd.nextInt(8999) + 1000));
text2.setText(null);
return;
}
JOptionPane.showMessageDialog(null, "登录成功。", "",
JOptionPane.WARNING_MESSAGE);// 如何自定义对话框
}
if (e.getSource() == button2) {
text1.setText("");
text2.setText("");
pass.setText("");
}
if (e.getSource() == button3) {
form.setVisible(false);
Registerwindows newwindow = new Registerwindows();
}
}
}
Registerwindows.java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class Registerwindows extends JFrame implements ActionListener {
Panel panel1;
JButton button1, button3;
JTextField texbook1, texbook2;
JLabel label1, label2, label4;
public Registerwindows() {
setVisible(true);
setResizable(false);
setTitle("注册窗口");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel1 = new Panel();
panel1.setSize(400, 250);
Toolkit kit = Toolkit.getDefaultToolkit(); // 定义工具包
Dimension screenSize = kit.getScreenSize(); // 获取屏幕的尺寸
int screenWidth = screenSize.width / 2; // 获取屏幕的宽
int screenHeight = screenSize.height / 2; // 获取屏幕的高
setLocation(screenWidth / 2, screenHeight / 2);
panel1.setLayout(null);
label1 = new JLabel("用户名:");
label1.setBounds(50, 20, 50, 20);
panel1.add(label1);
texbook1 = new JTextField();
texbook1.setBounds(100, 20, 150, 20);
panel1.add(texbook1);
label2 = new JLabel("密码: ");
label2.setBounds(50, 50, 50, 20);
panel1.add(label2);
texbook2 = new JTextField();
texbook2.setBounds(100, 50, 150, 20);
panel1.add(texbook2);
button1 = new JButton("确定");
button1.setBounds(50, 120, 60, 20);
panel1.add(button1);
button3 = new JButton("重置");
button3.setBounds(190, 120, 60, 20);
panel1.add(button3);
add(panel1);
pack();
button1.addActionListener(this);
button3.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
try {
File file = new File("User.txt");
FileWriter out = new FileWriter(file);
BufferedWriter fileout = new BufferedWriter(out);
FileReader in = new FileReader(file);
BufferedReader filein = new BufferedReader(in);
if(filein.readLine()==null){
fileout.write("llllllll");
fileout.newLine();
fileout.write("llllllll");
}
filein.close();
in.close();
fileout.newLine();
fileout.write(texbook1.getText());
fileout.newLine();
fileout.write(texbook2.getText());
fileout.close();
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
if ((!texbook1.getText().equals(""))
&& (!texbook2.getText().equals("")))
JOptionPane.showMessageDialog(null, "注册成功。", "",
JOptionPane.WARNING_MESSAGE);// 如何自定义对话框
}
if (e.getSource() == button3) {
texbook1.setText("");
texbook2.setText("");
}
}
}