Java 项目 学生信息管理系统 超详细 超完整 保姆级讲解(主页面 + 添加学生信息 + 删除学生信息 +

本文详细介绍了如何使用Java GUI、WindowsBuilder、MySql数据库和JDBC技术开发一个学生信息管理系统。涵盖项目概述、数据库建立、主页面及功能实现、代码分析和项目总结。通过实际操作,演示了添加、删除、查询和修改学生信息的过程。
摘要由CSDN通过智能技术生成

Java 学生信息管理系统

关注博主不迷路,博主带你码代码!

1. 项目概述

这是一个学生信息管理系统,学生信息主要包括:学号,姓名,性别,出生日期,班级;暂时就只有这些信息,若后续需要,可以相应的进行添加。

该项目主要采用的技术是 Java GUI 设计,这个地方主要用 Java 工具 windowsbuilder 进行布局,(windowsbuilder没有安装或者不会安装的,可以看看我的这篇博客 Eclipse 安装 windowbuilder插件),MySql 数据库(MySql 数据库没有安装的 或者数据库使用软件 Navicat 没有安装的可以看看我的这篇博客 2021 MySql 8.0.26 安装教程(最详细的傻瓜教程)),以及使用 Java 中的 JDBC 将数据库链接起来。

2. 数据库的建立

由于在项目中没有创建学生数据库的功能,所以学生数据库必须要先建立好,下面给出如何建立好MySQL学生数据库的相关代码 + 图片

– 创建数据库
CREATE DATABASE niit
DEFAULT CHARACTER SET utf8mb4;

SHOW DATABASES;

– 使用数据库niit
USE niit;

– 创建表Student
CREATE TABLE Student
(
ID INT PRIMARY KEY,
NAME VARCHAR(4),
GENDER CHAR(1),
DOB DATE,
BATCH INT
);

– 插入记录
INSERT INTO Student VALUES
(1,‘独孤求败’,‘男’,‘1988-1-2’,1),
(2,‘周芷若’,‘女’,‘1988-12-3’,1),
(3,‘金毛狮王’,‘男’,‘1978-11-1’,1),
(4,‘蒙挚’,‘男’,‘1989-2-5’,2),
(5,‘夏春’,‘女’,‘1998-4-3’,2),
(6,‘梅长苏’,‘男’,‘1999-12-6’,2);

– 查看表中所有记录 语法:select * from 表名
SELECT * FROM Student;

3. 项目页面

主页面

添加学生

修改信息

删除学生

查询信息

4. 项目代码 + 分析

主页面

package studentsmanager;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class MainFrame extends JFrame {

private JPanel contentPane;

/\*\*
 \* Launch the application.
 \*/
// 有了main函数才可以单独运行
public static void main(String\[\] args) {

	EventQueue.invokeLater(new Runnable() {

		public void run() {

			try {

				MainFrame frame = new MainFrame();
				frame.setVisible(true);
			} catch (Exception e) {

				e.printStackTrace();
			}
		}
	});
}

/\*\*
 \* Create the frame.
 \*/
public MainFrame() {

	// 设置大小不可改变
	setResizable(false);
	// 设置标题
	setTitle("学生管理系统");
	// 由于这是主页面,所有当主页面关闭的时候,程序就直接退出
	setDefaultCloseOperation(JFrame.EXIT\_ON\_CLOSE);
	// setBounds(int x,int y,int width,int height);
	// x 和 y 是窗口打开时的位置
	// width 和 height 是窗口打宽度和高度
	setBounds(100, 100, 450, 350);
	// setLocationRelativeTo(c)
	// 设置窗口相对于 c 的位置,当 c 为空或者 null 时,默认为是相对于屏幕中央
	setLocationRelativeTo(null);
	// 实例化一个 pane
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
	setContentPane(contentPane);
	contentPane.setLayout(null);
	
	JLabel lblNewLabel = new JLabel("学生管理系统");
	lblNewLabel.setForeground(Color.RED);
	lblNewLabel.setFont(new Font("宋体", Font.BOLD, 25));
	lblNewLabel.setBounds(140, 10, 163, 44);
	contentPane.add(lblNewLabel);
	
	JButton addButton = new JButton("添加学生");
	// addActionListener 注册监听器
	addButton.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {

			// 设置新窗口可见
			new AddFrame().setVisible(true);
		}
	});

	addButton.setFont(new Font("宋体", Font.PLAIN, 18));
	addButton.setBounds(167, 64, 114, 37);
	contentPane.add(addButton);
	
	JButton changeButton = new JButton("修改信息");
	changeButton.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {

			// 同上
			new ChangeFrame().setVisible(true);
		}
	});
	changeButton.setFont(new Font("宋体", Font.PLAIN, 18));
	changeButton.setBounds(167, 121, 114, 37);
	contentPane.add(changeButton);
	
	JButton deleteButton = new JButton("删除学生");
	deleteButton.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {

			// 同上
			new DeleteFrame().setVisible(true);
		}
	});
	deleteButton.setFont(new Font("宋体", Font.PLAIN, 18));
	deleteButton.setBounds(167, 180, 114, 37);
	contentPane.add(deleteButton);
	
	JButton queryButton = new JButton("查询信息");
	queryButton.addActionListener(new ActionListener() {

		public void actionPerformed(ActionEvent e) {

			// 同上
			new QueryFrame().setVisible(true);
		}
	});
	queryButton.setFont(new Font("宋体", Font.PLAIN, 18));
	queryButton.setBounds(167, 240, 114, 37);
	contentPane.add(queryButton);
}

}

添加学生

package studentsmanager;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class AddFrame extends JFrame {

private JPanel contentPane;
private JTextField idField;
private JTextField nameField;
private JTextField genderField;
private JTextField dobField;
private JTextField batchField;

/\*\*
 \* Launch the application.
 \*/
public static void main(String\[\] args) {

	EventQueue.invokeLater(new Runnable() {

		public void run() {

			try
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值