# studentinfo **Repository Path**: garrettxia/studentinfo ## Basic Information - **Project Name**: studentinfo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-08 - **Last Updated**: 2025-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎓 学生信息管理系统 > 一个基于Java Swing开发的桌面应用程序,用于管理学生、教师、班级等信息。 --- ## 📖 项目简介 学生信息管理系统是一个功能完善的桌面应用程序,提供了学生、教师、班级等基础信息的管理功能。系统采用Java Swing作为UI框架,使用JSON文件进行数据持久化存储。 --- ## ✨ 功能特性 ### 👥 用户管理 - 🔐 **多角色登录**:支持管理员、教师、学生三种角色登录 - 🛡️ **权限控制**:不同角色拥有不同的操作权限 - 🔑 **密码修改**:用户可以修改自己的登录密码 ### 👨‍🎓 学生管理 - ➕ 添加学生信息 - 📋 查看学生列表 - ✏️ 编辑学生信息 - 🗑️ 删除学生信息 - 🔍 按班级、姓名等条件搜索学生 ### 🏫 班级管理 - ➕ 添加班级信息 - 📋 查看班级列表 - ✏️ 编辑班级信息 - 🗑️ 删除班级信息 ### 👨‍🏫 教师管理 - ➕ 添加教师信息 - 📋 查看教师列表 - ✏️ 编辑教师信息 - 🗑️ 删除教师信息 ### ⚙️ 系统功能 - 🔄 退出系统后返回登录界面(支持多用户切换) - 🎨 友好的图形界面 - 💾 数据持久化存储 --- ## 🛠️ 技术栈 - ☕ **开发语言**:Java - 🖼️ **UI框架**:Java Swing - 💿 **数据存储**:JSON文件(位于`data/`目录) - 🔧 **开发工具**:支持IntelliJ IDEA、Eclipse等IDE --- ## 📁 项目结构 ``` StudentInfo/ ├── src/ # 📂 源代码目录 │ ├── com/artisan/ │ │ ├── dao/ # 💾 数据访问层 │ │ │ ├── AdminDao.java │ │ │ ├── StudentDao.java │ │ │ ├── TeacherDao.java │ │ │ └── ... │ │ ├── model/ # 📊 数据模型 │ │ │ ├── Admin.java │ │ │ ├── Student.java │ │ │ ├── Teacher.java │ │ │ └── ... │ │ ├── util/ # 🛠️ 工具类 │ │ │ ├── FileDataStore.java │ │ │ ├── JsonUtil.java │ │ │ └── StringUtil.java │ │ └── view/ # 🖥️ 视图层(UI界面) │ │ ├── LoginFrm.java # 🔐 登录界面(主入口) │ │ ├── MainFrm.java # 🏠 主界面 │ │ ├── AddStudentFrm.java │ │ ├── ManageStudentFrm.java │ │ └── ... │ └── images/ # 🖼️ 图片资源 ├── data/ # 💾 数据存储目录 │ ├── admins.json # 👤 管理员数据 │ ├── students.json # 👨‍🎓 学生数据 │ ├── teachers.json # 👨‍🏫 教师数据 │ ├── classes.json # 🏫 班级数据 │ └── ... ├── bin/ # 📦 编译输出目录(自动生成) ├── classes/ # 📦 编译输出目录(自动生成) └── README.md # 📄 项目说明文档 ``` --- ## 🚀 运行说明 ### 📋 环境要求 - ☕ JDK 1.8 或更高版本 - 💻 支持Java Swing的操作系统(Windows、macOS、Linux) ### 📝 运行步骤 1. **📥 克隆或下载项目** ```bash git clone cd StudentInfo ``` 2. **🔨 编译项目** - 使用IDE(IntelliJ IDEA/Eclipse)打开项目 - 或者使用命令行编译: ```bash javac -d bin -sourcepath src src/com/artisan/view/LoginFrm.java ``` 3. **▶️ 运行程序** - 在IDE中运行`LoginFrm.java`的`main`方法 - 或者使用命令行运行: ```bash java -cp bin com.artisan.view.LoginFrm ``` 4. **🔐 登录系统** - 启动后会显示登录界面 - 选择用户类型(管理员/教师/学生) - 输入用户名和密码 - 点击"登录"按钮 ### 👤 默认账户 系统首次运行时,请查看`data/`目录下的JSON文件了解默认账户信息,或根据实际数据文件中的内容进行登录。 --- ## 📚 使用说明 ### 👨‍💼 管理员功能 - ✅ 可以管理所有学生、教师、班级信息 - ✅ 可以添加、编辑、删除各类信息 - ✅ 可以修改密码 ### 👨‍🏫 教师功能 - 👀 可以查看学生和班级信息 - 🔑 可以修改自己的密码 - ❌ 不能添加教师(由管理员管理) ### 👨‍🎓 学生功能 - 👀 可以查看自己的信息 - 🔑 可以修改自己的密码 - ⚠️ 功能受限,主要用于查看 ### 🚪 退出系统 - 点击"系统设置" -> "退出系统" - 确认后会关闭主界面并返回到登录界面 - 可以切换不同用户登录 --- ## ⚠️ 注意事项 1. **💾 数据存储**:所有数据存储在`data/`目录下的JSON文件中,请定期备份该目录 2. **🖼️ 图片资源**:确保`src/images/`目录下的图片文件完整,否则界面可能显示异常 3. **📦 编译输出**:`bin/`和`classes/`目录是编译输出目录,可以删除后重新编译 4. **🛡️ 权限说明**:不同角色的功能权限不同,学生角色的功能最为受限 --- ## 💻 开发说明 ### 📝 代码规范 - 📦 包名使用小写字母 - 🏷️ 类名使用大驼峰命名(PascalCase) - 🔤 方法名和变量名使用小驼峰命名(camelCase) ### 💾 数据访问 - 🔌 所有数据访问通过DAO层进行 - 📄 数据存储在JSON文件中 - 🛠️ 使用`FileDataStore`和`JsonUtil`进行文件读写 ### 🖥️ UI开发 - 🎨 使用Java Swing进行界面开发 - 📐 界面布局使用GroupLayout - 🖼️ 图片资源放在`src/images/`目录 --- ## 📝 更新日志 ### 🆕 最新版本 - ✅ 修改退出系统功能:退出后返回登录界面而不是直接关闭程序 - ✅ 优化代码结构 --- ## 📄 许可证 本项目仅供学习演示使用。 --- ## 📮 联系方式 如有问题或建议,请联系项目维护者。 ---
**⭐ 如果这个项目对你有帮助,欢迎给个Star!⭐** Made with ❤️ by StudentInfo Team