从零开始教你做Java学生管理系统(二)之添加登陆界面按钮事件

好啦!那现在就开始正式写代码了!
我们先完成最简单的一部分叭~就是 “重置按钮” 的代码
将要实现的功能:当你按下 “重置按钮” 的时候将所有已经输入的文本清空
下面是具体步骤:

  1. “重置按钮” (右键) -> add event handler -> action ->actionPerformed 添加点击事件代码
    在这里插入图片描述
    这就是自动创建的代码段
    在这里插入图片描述

  2. 首先需要修改一段代码,需要将userTypeComboBox修改为成员变量,在类的最开始声明。
    在这里插入图片描述
    像这样,在最开始前添加声明,把后面的声明删去。
    在这里插入图片描述

  3. 最后在主类中(也就是是LoginFrm类中)创建一个名为restValue的方法,该方法负责重置值
    在这里插入图片描述
    并在按钮点击事件中执行该方法
    在这里插入图片描述

  4. 重置功能就完成啦!现在赶快运行一下,是不是很厉害呢~不过这只是最简单的一步,我们接下来继续实现其他按钮的功能。
    在这里插入图片描述


  1. 在model下新建一个枚举类型名为:UserType。在该枚举类中做以下几件事
    ① 创建三个枚举类型ADMIN(系统管理员 0)、TEACHER(教师 1)、STUDENT(学生 2)
	ADMIN("系统管理员",0),
	TEACHER("教师",1),
	STUDENT("学生",2);

② 添加两个字段name和index,添加一个私有的构造函数

private String name;
	private int index;
	
	private UserType(String name, int index) {
		this.name = name;
		this.index = index;
	}

③ 添加name和index的get and set 方法

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getIndex() {
		return index;
	}

	public void setIndex(int index) {
		this.index = index;
	}

④ 重写基类的toString方法

	@Override
	public String toString() {
		return this.name;
	}

到这里,UserType类就大功告成了!但是我们还需要修改以下主类的代码才能用上UserType

  1. 将LoginFrm类中的代码
 userTypeComboBox.setModel(new DefaultComboBoxModel(new String[] {"\u5B66\u751F", "\u6559\u5E08", "\u7CFB\u7EDF\u7BA1\u7406\u5458"}));

改为(将传入参数改为枚举类型)

userTypeComboBox.setModel(new DefaultComboBoxModel(new UserType[] {UserType.ADMIN, UserType.STUDENT, UserType.TEACHER}));

接下来我们继续添加登陆界面的触发事件

  1. 给 “登陆” 按钮 添加点击事件,方法同第一步。
  2. 在主类中创建一个登录事件调用的方法名叫loginAction(),获取用户输入的值
// 用户点击登陆按钮
String userName = userNameTextField.getText().toString();//获取用户名
String password = passwordTextField.getText().toString();//获取密码
UserType selectedItem = (UserType)userTypeComboBox.getSelectedItem();//获取用户类型
  1. 接下来,判断用户的输入是否为空,如果为空,弹窗提示
    我们先在uitl工具类中添加一个类StringUtil,在类中添加一个静态方法isEmpty,用来判断输入的值是否为空。
public static boolean isEmpty(String str) {
		// 不建议使用不知道是否为空的变量做判断,否则可能会抛出异常
		// 如str.equal(""),如果为空会抛出异常
		if ("".equals(str) || str == null) {
			return true;// 为空返回ture
		}
		return false;// 否则返回false
	}
  1. 然后在主类的loginAction方法中继续添加内容,判断用户输入是否为空
//判断用户是否输入是否为空
		if(StringUtil.isEmpty(userName)) {
			JOptionPane.showMessageDialog(this, "用户名不能为空!");
		}
		if(StringUtil.isEmpty(password)) {
			JOptionPane.showMessageDialog(this, "密码不能为空!");
		}
  1. 最后添加登陆的代码块,给后续数据库的连接做准备
if("系统管理员".equals(selectedItem.getName())) {
			//系统管理员登陆
		}else if("教师".equals(selectedItem.getName())) {
			//教师登陆
		}else {
			//学生登陆
		}

那么今天就先到这里~ 这个管理系统我还是会继续更新的。
如果有错,感谢小伙伴们能留言指出来。

有任何问题,可以直接在下方留言,我看到一定会及时回。
或者需要下载的源文件、源代码,可以加我QQ:1723995801,有偿解决一切问题。

努力做一个优秀的程序员!
共勉

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值