Java+学生信息管理系统+GUI+文件

朋友们啊,请仔细看博客哦

0 说明

1、关于项目运行

这个项目我完成的时候,确实是可以跑起来的,所有功能和效果基本都写在博客里了,代码资源也给上了,是免费的!!!免费的!!!免费的!!!(遇到好几个朋友私信问代码,我也是无奈了)。

如果运行不起来,出现各种问题可能是因为版本,电脑环境等原因,这些可以在评论区讨论(我盲猜我爱莫能助),或者根据报错自行搜索。这个项目对于我来说有点久远了,当时做好后就写了这个博客,很多细节可能不太记得了,另外,我要转前端了哈哈哈(*^▽^*)(现在主要是做react前端开发),所以搞Java的同学自己加油吧~

遇到问题没什么,多百度,多看教程,你可以的!


2、关于项目代码下载

这个项目的代码是免费开源的!可以直接使用~

你能从这里面学到东西,做得更好,那就是你的收获~我当初也是看了很多人的博客才写出这的,虽然还是做得不是很好。。。。。

(1)项目代码资源下载地址:Student_Manage.zip
在这里插入图片描述

(2)

因为CSDN的积分是自动调整的,且很多同学都没有积分,补充上了码云的代码仓库地址(这个是免费的,不需要积分)https://gitee.com/huan2515/student-manage.git

在这里插入图片描述
附上“如何在码云Gitee中部署个人静态网站?git提交网站”地址:https://www.bilibili.com/read/cv6506359?share_medium=android&share_source=qq&bbid=XYA0AA2A7669743DD029D12A5C0A0B24B7524&ts=1608258917421

有精力的同学可以使用git、gitee或者github 自己搭建自己的仓库啥的,更方便~


3、关于项目结构和优化

我写的时候是用的eclipse,JDK8。

这个项目只是当初我的一个很简陋的课程设计,还有很多可以提升的空间,很多的重复性源码也可以整理成为工具类,方便调用。参考借鉴的同学可以参考我这个项目,以节省时间和精力,多优化。

最终项目结构:
在这里插入图片描述
我这简陋的成果只是给有需要的同学参考,希望同学们可以自己多动手,练练实践能力,编码能力是要自己去踩坑才能有提升的呀。

另外,大部分项目是需要操作数据库的,但我当时做项目的时候,老师要求的是操作文件,需要操作数据库的朋友,自行研究一下吧,附上我的数据库学习博客:Java操作数据库-JDBC数据库


4、关于私信和评论区回复

现在可能很少看CSDN的私信和评论区了,所以回复可能不是那么及时。如果是私信问的话,也麻烦说清楚是哪个博客哪个项目,具体是什么问题,我知道的话,就尽量解答~

主要也是这个项目是很久之前做的课程设计,历史太久远了,加上我现在主要做的是react前端开发,所以可能很多问题就爱莫能助了,评论区讨论的朋友如果知道怎么解决可以回一下哈~


1. 课程设计要求,需求说明

该系统可实现学生信息的增加,删除,修改,查询,筛选的功能。并将学生信息存储在文件txt 中,不会覆盖原数据。

该系统没有利用数据库,是使用文件来存储学生数据,有基本的 UI 界面,操作友好,项目运行没有问题。

学生的数据用数组存放,ArrayList。

2. 主函数

package Student_Manage;

public class Main {

	 public static void main(String[] args) {
		new Login();
	    }
}

学生类

package Student_Manage;

public class student_information {
	private String stuID;    /*  学生学号  */
	private String name;     /* 学生姓名 */
	private String sex;     /* 学生性别  */
    private String age;        /*  学生年龄  */
    private String callnumber;   /* 学生电话号码   */
    private String home_place;   /* 学生家庭住址,籍贯 */
    private String identityID;   /* 学生身份证号码 */
    
    /*无参构造函数*/
    public student_information() {
    
    }
    /*有参构造函数 */
    public student_information(String stuID,String name,String sex,String age,String callnumber,String home_place,String identityID) {
    	super();
    	this.stuID=stuID;
    	this.name=name;
    	this.sex=sex;
    	this.age=age;
    	this.callnumber=callnumber;
    	this.home_place=home_place;
    	this.identityID=identityID;
    }
    public String getStuID() {
    	return this.stuID;
    }
    public void setStuID(String stuID) {
    	this.stuID=stuID;
    }
    
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name=name;
    }
    
    public String getSex() {
    	return this.sex;
    }
    public void setSex(String sex) {
    	this.sex=sex;
    }
    
    public String getAge() {
    	return this.age;
    }
    public void setAge(String age) {
    	this.age=age;
    }
    
    public String getCallnumber() {
    	return this.callnumber;
    }
    public void setCallnummber(String callnumber) {
    	this.callnumber=callnumber;
    }
    
    public String getHome_place() {
    	return this.home_place;
    }
    public void setHome_place(String home_place) {
    	this.home_place=home_place;
    }
    
    public String getIdentityID() {
    	return this.identityID;
    }
    public void setIdentityID(String identityID) {
    	this.identityID=identityID;
    }
    
    //从文件中录入的数据格式    "学号  姓名  性别  年龄  电话号码  家庭住址  身份证号码"  
    public String fileString()
	{
		return stuID+" "+name+" "+sex+" "+age+"  "+callnumber+"  "+home_place+"  "+identityID;
	}

   
}

3. 静态登录界面实现

  登录界面还有完善的空间,可增加密码验证,通过管理员和学生账号的不同验证其身份,还可增加注册功能
package Student_Manage;

/**
 * 功能:学生成绩管理系统
 * 步骤1、登录界面的静态实现
 * author:ywq
 */
import java.awt.*;
import javax.swing.*;

import java.awt.event.*;

public  class Login extends JFrame implements  ActionListener{
	//定义组件
	JFrame frame=new JFrame();
	JPanel jp1,jp2,jp3;//面板
	JLabel jlb1,jlb2;//标签
	JButton jb1,jb2;//按钮
	
	//构造函数
	public Login(){
		//创建面板
		jp1=new JPanel();
		jp2=new JPanel();
		jp3=new JPanel();
		//创建标签
		jlb1=new JLabel("请按照你的身份选择登陆");
		
		//创建按钮
		jb1=new JButton("信息管理人员");
		jb2=new JButton("学生");
				
		//设置布局管理
		frame.setLayout(new GridLayout(3, 1));//网格式布局
		
		//加入各个组件
		jp1.add(jlb1);
			
		jp3.add(jb1);
		jp3.add(jb2);
		
		//加入到JFrame
		frame.add(jp2);
		frame.add(jp1);
		//this.add(jp2);
		frame.add(jp3);
		
		//设置窗体
		frame.setTitle("用户登录界面");//窗体标签
		frame.setSize(400, 300);//窗体大小
		frame.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame
		frame.setVisible(true);//显示窗体
		
		//锁定窗体
		//this.setResizable(false);
				
		jb1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			   frame.setVisible(false);
				new ManagerLogin();
			}
		});
		
		jb2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			   frame.setVisible(false);
				new StudentLogin();
			}
		});
		
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
	}
}

效果图
效果图

4. 信息管理员登录界面

该界面的标签,文本框等的位置还可以调整,使其更美观。
package Student_Manage;

//信息管理人员登陆后的界面
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;/*ArrayList;
import java.util.Hashtable;
*/
public class ManagerLogin extends JFrame implements  ActionListener{
	
	Function fun=new Function();
	
	//定义组件 
	JLabel lb1=new JLabel("当前是信息管理人员登录界面" );//JLabel 对象可以显示文本、图像
	JLabel lb2=new JLabel("提示:录入前请先输入学号,修改、删除根据学号修改信息");
	
    JTextField 学号,姓名,年龄,电话号码,家庭住址,身份证号码;//输入学生基本信息得文本
    JRadioButton 男,女;//声明单选项对象,性别选择
    ButtonGroup group=null;//声明按钮组
    JButton 录入,查询,删除,修改,显示,返回;//声明相应的操作的按钮
    JPanel p1,p2,p3,p4,p5,p6,p7,pv,ph,pb;//调节布局的通道
    
    public ManagerLogin(){       //负责管理员登录的主窗口
        super("学生信息管理系统");
        学号=new JTextField(10);//创建文本信息的的对象
        姓名=new JTextField(10);
        电话号码=new JTextField(15);
        年龄=new JTextField(5);
        家庭住址=new JTextField(15);
        身份证号码=new JTextField(18);
        
        group=new ButtonGroup();
        男=new JRadioButton("男");//初始化单选框,
        女=new JRadioButton("女");
        group.add(男);//把按钮添加到按钮组
        group.add(女);
        录入=new JButton("增加学生信息");//创建按钮对象
        查询=new JButton("查询符合条件的学生信息");
        删除=new JButton("删除学生信息");
        修改=new JButton("修改学生信息");
        显示=new JButton("显示全部学生信息");
        返回=new JButton("返回登录界面");
    
        pb=new JPanel();
        pb.add(lb1,JLabel.CENTER);
    
  • 323
    点赞
  • 1948
    收藏
    觉得还不错? 一键收藏
  • 65
    评论
评论 65
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值