Java课设

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class UserLoginRegister extends JFrame implements ActionListener {
static JButton set = new JButton("set");
static JButton returnLogin = new JButton("return login");
static JButton returnRegister = new JButton("return " + "register");
static JButton reset = new JButton("reset");
static String[] UserPassword1 = new String[2];
static String[] UserPassword2 = new String[2];
static JButton enter = new JButton("enter");
File file = new File("D:\\UserLoginRegister");
JTextField UserNameText = new JTextField(10);
JTextField RegisterPasswordText = new JTextField(10);
JPasswordField passwordText = new JPasswordField(10);

public static void main(String[] args) {
new UserLoginRegister();
}
public UserLoginRegister() {
String[] st1 = {"log in", "sign in"};
int ob1 = JOptionPane.showOptionDialog(null, "Please" + " select " + "the option you" + " need", "select" + " part", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, st1, st1[0]);
if (ob1 == 0) {
LoginFrame();
} else if (ob1 == 1) {
RegisterFrame();
}
}
public static boolean login(File file, String username, String password) throws IOException {
Scanner s = new Scanner(file);
while (s.hasNextLine()) {
String line = s.nextLine();
String[] arr = line.split(":");
if (arr[0].equals(username) && arr[1].equals(password)) {
s.close();
return true;
}
}
s.close();
return false;
}
public static boolean register(File file, String username, String password) throws IOException {
try (FileWriter fileWriter = new FileWriter(file, true)) {
fileWriter.write(username + ":" + password + "\r\n");
return true;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void actionPerformed(ActionEvent e) {
Object ob = e.getSource();
UserPassword1[0] = UserNameText.getText();
UserPassword1[1] = RegisterPasswordText.getText();
if (ob == set) {
FileWriter fileWriter;
try {
fileWriter = new FileWriter(file, true);
} catch (IOException e1) {
throw new RuntimeException(e1);
}
try {
if (register(file, UserPassword1[0], UserPassword1[1])) {
JOptionPane.showMessageDialog(null, "log " + "in " + "successful!");
} else {
JOptionPane.showMessageDialog(null, "log " + "in " + "unsuccessful!");
}
} catch (IOException e1) {
throw new RuntimeException(e1);
}
try {
fileWriter.close();
} catch (IOException e1) {
throw new RuntimeException(e1);
}
} else if (ob == reset) {
UserNameText.setText("");
RegisterPasswordText.setText("");
passwordText.setText("");
} else if (ob == enter) {
try {
UserPassword2[0] = UserNameText.getText();
UserPassword2[1] = new String(passwordText.getPassword());
if (login(file, UserPassword2[0], UserPassword2[1])) {
JOptionPane.showMessageDialog(null, "enter successful!");
} else {
JOptionPane.showMessageDialog(null, "enter unsuccessful!");
}
} catch (IOException e1) {
throw new RuntimeException(e1);
}
} else if (ob == returnLogin) {

LoginFrame();
} else if (ob == returnRegister) {
RegisterFrame();
}
}
public void RegisterFrame() {
JFrame RegisterFrame = new JFrame();
RegisterFrame.setTitle("registerFrame");
RegisterFrame.setLayout(new GridLayout(3, 1));
Panel panel1 = new Panel();
Panel panel2 = new Panel();
Panel panel3 = new Panel();
panel1.add(new JLabel("enter you user name :"));
panel1.add(UserNameText);
panel2.add(new JLabel("enter you password :"));
panel2.add(RegisterPasswordText);
RegisterFrame.add(panel1);
RegisterFrame.add(panel2);
RegisterFrame.add(panel3);
panel3.add(set);
panel3.add(reset);
panel3.add(returnLogin);
RegisterFrame.setSize(300, 150);
RegisterFrame.setVisible(true);
RegisterFrame.setLocation((Toolkit.getDefaultToolkit().getScreenSize().height - RegisterFrame.getHeight() / 4 - 300), (Toolkit.getDefaultToolkit().getScreenSize().width - RegisterFrame.getWidth()) / 4);
Register_LoginFrame(reset, returnLogin, set, set);
}
public void Register_LoginFrame(JButton reset, JButton returnLogin, JButton set, JButton set2) {
reset.addActionListener(this);
returnLogin.addActionListener(this);
set.addActionListener(this);
UserNameText.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
RegisterPasswordText.requestFocusInWindow();
}
}
});
RegisterPasswordText.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
set2.doClick();
}
}
});
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void LoginFrame() {
JFrame LoginFrame = new JFrame();
LoginFrame.setLayout(new GridLayout(3, 1));
LoginFrame.setTitle("LoginFrame");
Panel panel1 = new Panel();
Panel panel2 = new Panel();
Panel panel3 = new Panel();
panel1.add(new JLabel("enter you user name :"));
panel1.add(UserNameText);
panel2.add(new JLabel("enter you password :"));
panel2.add(passwordText);
LoginFrame.add(panel1);
LoginFrame.add(panel2);
LoginFrame.add(panel3);
panel3.add(enter);
panel3.add(reset);
panel3.add(returnRegister);
LoginFrame.setSize(300, 150);
LoginFrame.setVisible(true);
LoginFrame.setLocation((Toolkit.getDefaultToolkit().getScreenSize().height - LoginFrame.getHeight() / 4 - 300), (Toolkit.getDefaultToolkit().getScreenSize().width - LoginFrame.getWidth()) / 4);
Register_LoginFrame(enter, reset, returnRegister, enter);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值