制作一个简单的登录界面
login.java
package LogIn_screen;
import javax.swing.*;
import java.awt.*;
public class Login {
private JTextField jtf_account;
private JTextField jtf_password;
public void showUI() {
//窗体
JFrame jf = new JFrame();
//分辨率
jf.setSize(425, 550);
jf.setTitle("登录界面");
//居中
jf.setLocationRelativeTo(null);
//退出进程
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//流式布局管理器
jf.setLayout(new FlowLayout());
//图片+标签(第一行)
ImageIcon im = new ImageIcon("D:\\Desktop\\20230516\\Java_Learning\\src\\LonIn_screen1.jpg");
JLabel jl = new JLabel(im);
jf.add(jl);
// 创建账号和输入框(第二行)
JPanel jp_account = new JPanel(new FlowLayout());
//账号输入提示
JLabel user_a = new JLabel("账号:");
jp_account.add(user_a);
//账号输入框
jtf_account = new JTextField();
jtf_account.setPreferredSize(new Dimension(360, 30));
jp_account.add(jtf_account);
jf.add(jp_account);
//创建密码输入框(第三行)
JPanel jp_password = new JPanel(new FlowLayout());
//密码输入提示
JLabel user_p = new JLabel("密码:");
jp_password.add(user_p);
//密码输入框
jtf_password = new JTextField();
jtf_password.setPreferredSize(new Dimension(360, 30));
jp_password.add(jtf_password);
jf.add(jp_password);
//登录按钮(第四行)
JButton jbu_login = new JButton("登录");
jf.add(jbu_login);
//注册按钮(第五行)
JButton jbu_register = new JButton("注册");
jf.add(jbu_register);
//设置可见
jf.setVisible(true);
//登录监听器
ButtonListener listener = new ButtonListener(this);
jbu_login.addActionListener(listener);
ButtonListener_register listener_register = new ButtonListener_register();
jbu_register.addActionListener(listener_register);
}
public JTextField getAccountField() {
return jtf_account;
}
public JTextField getPasswordField() {
return jtf_password;
}
public static void main (String[] args){
Login lo =new Login();
lo.showUI();
}
}
ButtonListener_register.java
package LogIn_screen;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ButtonListener_register implements ActionListener {
private Login _login;
public void actionPerformed(ActionEvent r) {
System.out.println("点击按钮注册");
}
}
ButtonListener.java
package LogIn_screen;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Objects;
public class ButtonListener implements ActionListener {
private final Login login;
public ButtonListener(Login login) {
this.login = login;
}
//事件处理方法
public void actionPerformed(ActionEvent e){
System.out.println("点击按钮登录!");
//检查账号密码
JTextField passwordField = login.getPasswordField();
JTextField accountField = login.getAccountField();
String account = accountField.getText();
String password = passwordField.getText();
if (checkLogin(account, password)){
System.out.println("登录成功!");
//显示登录新的界面
JFrame jf01 = new JFrame();
jf01.setSize(425, 550);
jf01.setTitle("登录成功");
jf01.setLocationRelativeTo(null);
jf01.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf01.setLayout(new FlowLayout());
ImageIcon im01 = new ImageIcon("D:\\Desktop\\编程文件\\LogIn_screen\\1.jpg");
JLabel jl01 = new JLabel(im01);
jf01.add(jl01);
JPanel jp_account01 = new JPanel(new FlowLayout());
//账号输入提示
JLabel user_a01 = new JLabel("登录成功");
jp_account01.add(user_a01);
jf01.add(jp_account01);
jf01.setVisible(true);
}else{
System.out.println("账号或密码错误");
accountField.setText("");
passwordField.setText("");
}
}
private boolean checkLogin(String account, String password) {
return Objects.equals(account, "Rainbow") && Objects.equals(password, "123456");
}
}