代码执行类:
package ch13.day0731.zy.zy01;
public class Start {
public static void main(String[] args) {
LoginFrm vLoginFrm=new LoginFrm();
vLoginFrm.setVisible(true);
}
}
登录界面:
import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class LoginFrm extends JFrame {
//构造方法
public LoginFrm() {
this.initUI();
this.binEvent();
}
//****声明*****//
//容器对象
private JPanel container;
//标签
private JLabel lblLoginName;
private JLabel lblLoginPwd;
//按钮
private JButton btnLogin;
//文本
private JTextField txtLoginName;
// private JTextField txtLoginPwd;
//文本加密显示
private JPasswordField txtLoginPass;
//*******登录界面********//
private void initUI() {
//窗体宽高
this.setSize(400,300);
//设置标题
this.setTitle("系统登录");
//不允许最大化
this.setResizable(false);
//实例化容器对象
container=new JPanel();
//容器对象布局设置为null,代表绝对布局(根据坐标)
container.setLayout(null);
//将容器对象添加到当前窗体
this.add(container);
//*********用户名组件************//
//初例化组件
lblLoginName = new JLabel();
//设置组件文本
lblLoginName.setText("用户名:");
//设置组件的绝对位置:x/y/width/height
lblLoginName.setBounds(50,50,80,50);
//将上述组件放置到container容器对象里
container.add(lblLoginName);
//初例化组件
txtLoginName=new JTextField();
//设置组件文本
//txtLoginName.setText("admin");
//设置组件的绝对位置:x/y/width/height
txtLoginName.setBounds(130,60,180,30);
//将上述组件放置到container容器对象里
container.add(txtLoginName);
//*********登录按钮************//
//初例化组件
btnLogin=new JButton();
//设置组件文本
btnLogin.setText("登录");
//设置组件的绝对位置:x/y/width/height
btnLogin.setBounds(130,150,80,30);
//将上述组件放置到container容器对象里
container.add(btnLogin);
//***********密码组件**********//
//初例化组件
lblLoginPwd = new JLabel();
//设置组件文本
lblLoginPwd.setText("密码:");
//设置组件的绝对位置:x/y/width/height
lblLoginPwd.setBounds(50,80,80,50);
//将上述组件放置到container容器对象里
container.add(lblLoginPwd);
//初例化组件
txtLoginPass=new JPasswordField();
//设置组件文本
//txtLoginPass.setText("123");
//设置组件的绝对位置:x/y/width/height
txtLoginPass.setBounds(130,100,180,30);
//设置加密符号
txtLoginPass.setEchoChar('喵');
//将上述组件放置到container容器对象里
container.add(txtLoginPass);
}
//*******事件绑定********//
private void binEvent() {
//点击右上角的关闭按钮时关闭当前窗体
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//动作监听
btnLogin.addActionListener(e->{
btnLogin_click(e);
});
}
//*******系统主菜单界面********//
private void customload() {
}
//*******事件********//
ManagerDao managerDao=new ManagerDao();
private void btnLogin_click(ActionEvent e) {
String vLoginName=txtLoginName.getText();
String vLoginPass=txtLoginPass.getText();
this.setTitle(txtLoginName.getText());
System.out.println("登录...");
//ManagerDao.java
boolean vIsOk=managerDao.login(vLoginName, vLoginPass);
if(vIsOk) {
System.out.println("登录成功!");
MainFrm vMainFrm=new MainFrm();
this.setVisible(false);
vMainFrm.setVisible(true);
}else {
System.out.println("登录失败!");
}
}
}
主界面(二级页面):
package ch13.day0731.zy.zy01;
import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class MainFrm extends JFrame {
//构造方法
public MainFrm() {
this.initUI();
this.binEvent();
}
//****声明*****//
//容器对象
private JPanel container;
//标签
private JLabel lblLoginName;
private JLabel lblLoginPwd;
//按钮
private JButton btnLogin;
//文本
private JTextField txtLoginName;
// private JTextField txtLoginPwd;
//文本加密显示
private JPasswordField txtLoginPass;
//*******登录界面********//
private void initUI() {
//窗体宽高
this.setSize(800,600);
//设置标题
this.setTitle("学生信息管理系统");
//不允许最大化
this.setResizable(false);
//实例化容器对象
container=new JPanel();
//容器对象布局设置为null,代表绝对布局(根据坐标)
container.setLayout(null);
//将容器对象添加到当前窗体
this.add(container);
}
//*******事件绑定********//
private void binEvent() {
}
//*******系统主菜单界面********//
private void customload() {
}
}
用户信息存储层:
package ch13.day0731.zy.zy01;
public class DataCenter {
public static Manager[] manager=new Manager[100];
/**
* 初始化对象的所有属性
*/
static{
for(int i=0;i<3;i++) {
manager[i]=new Manager();
}
manager[0]=new Manager("admin","123");
manager[1]=new Manager("user","123");
manager[2]=new Manager("good","123");
}
}
管理员类:
package ch13.day0731.zy.zy01;
public class Manager {
private String userName;
private String userPwd;
//getter setter
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
//构造方法
public Manager() {}
public Manager(String userName,String userPwd){
this.setUserName(userName);
this.setUserPwd(userPwd);
}
}
管理员信息操作层:
package ch13.day0731.zy.zy01;
public class ManagerDao {
// 判断账密是否存在
public boolean login(String pUserName, String pUserPwd) {
boolean isRight = false;
if(pUserName!=null&&pUserPwd!=null) {
for (int i = 0; i < DataCenter.manager.length; i++) {
if (DataCenter.manager[i] == null) {
break;
}
isRight = pUserName.equals(DataCenter.manager[i].getUserName())
&& pUserPwd.equals(DataCenter.manager[i].getUserPwd());
if (isRight) {
break;
}
}
}
return isRight;
}
// 修改账密
public boolean change(String pUserName, String pNewPwd) {
boolean isOk = false;
for (int i = 0; i < DataCenter.manager.length; i++) {
if (DataCenter.manager[i] == null) {
break;
}
isOk = pUserName.equals(DataCenter.manager[i].getUserName());
if (isOk) {
DataCenter.manager[i].setUserPwd(pNewPwd);
break;
}
}
return isOk;
}
}