1.0版本功能实现:
登录与注册界面;
模拟数据生成;
1.浅谈对象-创建User类
在用户管理系统中离不开用户,也就是我们的对象,对象具有自己的特点以及行为,在编程语言中我们称之为属性和方法,更为具体的可见本作者之前的文章《Java类与对象》。
(1)确定对象的属性、方法
用户属性:账号、密码、积分、在线状态
(2)使用构造方法
1):没有返回值 void这种结构
2):以类名为方法名
3):任何类都有一个隐式的空参数构造方法
4):一旦显式的写了构造方法,不管是否带参数都会覆盖隐式的
5) :构造方法可以设定参数 ,参数可以将值赋给属性,实现创建
对象时属性的数据初始化
6):一个类中可以创建多个构造方法,必须参数不一致
7):构造方法在创建对象时执行,每个对象创建时都会执行一次构
造方法
8):创建对象可以选择合适的构造方法创建对象
注意:这里需要代码块,构造代码块的作用是用来运行一些创建对象时就需要执行的代码,初始化等等;
(3)判断密码是否正确
public class User {
//属性
String username;
String password;
int score;
boolean islogin;
public User(String name, String word) {
this.username = name;
this.password = word;
System.out.println("带参观构造方法执行");
}
public User() {
System.out.println("无参构造方法执行");
}
{
System.out.println("代码块1");
}
{
System.out.println("代码块2");
}
//方法
public void showUesr() {
System.out.println("账号:" + username + " 密码:" + password + " 积分:" + score + " 在线状态:" + islogin);
}
public boolean login(String pass) {
if (pass.equals(password)) {
score += 100;
islogin = true;
System.out.println("登录成功!");
return true;
} else {
System.out.println("密码错误!");
return false;
}
}
//主函数
public static void main(String[] args) {
// 创建一个用户对象 ,使用的是第一个带参数的构造方法
User user1 = new User("damin","damin123");
user1.login("admin123");
user1.showUesr();
// 创建一个用户对象 ,使用的是第二个不带参数的构造方法
User user2 = new User();
user2.username = "user1";
user2.password = "user123";
user2.login("user123");
user2.showUesr();
}
}
2.登录界面-创建UserUI类
(1)创建一个界面需要窗体,而窗体上需要按钮、输入框、文字、流式布局等…
注意:以上这些元素应该加在可见之前,并且需要导入头文件
public void loginUI(){
JFrame jf=new JFrame();
//基本框架
jf.setLocationRelativeTo(null);//位置居中
jf.setSize(500,700);
jf.setTitle("登录界面");
jf.setDefaultCloseOperation(3);//退出进程
//流式布局
FlowLayout flow=new FlowLayout();
jf.setLayout(flow);
//添加账号
JLabel nameJL=new JLabel("账号");
jf.add(nameJL);
//添加账号输入框
JTextField nameJTF1=new JTextField(45);
jf.add(nameJTF1);
//添加密码
JLabel passJL=new JLabel("密码");
jf.add(passJL);
//添加密码输入框
JTextField passJTF1=new JTextField(45);
jf.add(passJTF1);
//添加按钮
JButton login=new JButton("登录");
jf.add(login);
JButton register=new JButton("注册");
jf.add(register);
//设置以上可见
jf.setVisible(true);
}
(2)创建监听器,添加监听器对象
要使登录、注册等按钮能起作用,需用用监听器事件读取并传导。
//创建监听对象
UserAction action=new UserAction();
//给按钮加载监听事件
login.addActionListener(action);
register.addActionListener(action);
//使用监听对象调用原本对象初始化
action.nameJTF2=nameJTF1;
action.passJTF2=passJTF1;
(3)主函数
调用界面的方法:
public class UserUI {
public static void main(String[]args){
UserUI ui=new UserUI();
ui.loginUI();
}
3.实现接口-创建并完善用户监听事件
注意:使用接口需要重写接口中的所有方法。
(1)创建输入框变量、储存多个对象的数组,并且生成用户模拟数据
代码块在此时起了作用
public class UserAction implements ActionListener {
//创建输入框变量(但是不初始化)
JTextField nameJTF2;
JTextField passJTF2;
//创建可以储存多个用户对象的数组
User[] userlist = new User[10];
int usercount = 0;
//往数组中插入模拟数据
{
//代码块 创建对象时第一时间执行
for (int i = 0; i < 10; i++) {
User u = new User("admin" + i, "666" + i);
userlist[i] = u;
usercount++;
}
System.out.println("用户数据生成!");
}
}
(2)点击按钮并完成相关功能
public void actionPerformed(ActionEvent e) {
String order = e.getActionCommand();
//获取输入框中的文本
String name = nameJTF2.getText();
String pass = passJTF2.getText();
if (order.equals("登录")) {
//输入名字查询是否注册
for (int i = 0; i < usercount; i++) {
User u = userlist[i];
if (u.username.equals(name)) {
//判断密码
boolean islogin = u.login(pass);
if (islogin) {
//跳转主页
JFrame jf = new JFrame();
jf.setSize(500, 700);
jf.setVisible(true);
break;
}
}
}
} else if (order.equals("注册")) {
int count = 0;
for (int i = 0; i < usercount; i++) {
User u = userlist[i];
if (u.username.equals(name)) {
System.out.println("用户已注册!");
count++;
}
}
if (count == 0) {
// 将输入框的文本作为参数创建一个对象
User user = new User(name, pass);
userlist[usercount] = user;
usercount++;
System.out.println("注册成功");
System.out.println("现有的用户个数:" + usercount);
}
}
}
以上就是今日本人的分享啦,进阶版本敬请期待下篇博客~
Java用户管理系统登录功能实现
1万+

被折叠的 条评论
为什么被折叠?



