1、Java大作业简单的学籍管理系统上海电力学院期末作业:简单的学籍管理系统课 程: Web 应用程序设计院系: 电气工程学院 专业: 电力系统及其自动化 学生姓名: 张富杰 学号:17103060指导教师: 曹渝昆 2017年1月6日一、设计思路 3二具体实现 3.三运行调试与分析 3.四设计体会与小结 8.五程序代码 8.、设计思路随着社会经济的发展, 入学的同学越来越多, 为方便对同学学籍信息的的管 理,设计学籍管理软件来管理本班级同学的学籍信息。 该软件应支持添加、 删除、 修改、查询功能。查询方式主要是支持学号查询,例如:输入“ 1”,则显示该学生的信息。运用流式、卡片、整体布局方式对系
2、统的主界面和各功能界面进行设计; 通过 连接数据库的方式来实现对数据的存储; 各功能实现时访问数据库, 并对数据信 息进行读取,运用 Java 语句对其进行输出,学号查询时显示在文本框中;系统 提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。二具体实现1 向班级里插入一个学生,但必须是插在已经建立的班级里。2 输入学生信息,建立一个班级。3 修改一个学生的所有资料。4 删除某班的一个学生及其所有资料。5 删除一个班级。6根据学生姓名查找某个学生信息。 每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加 类。主类各功能界面的连接;精确查询类(SearchSt
3、ude nt实现根据学生姓名查找 某个学生信息;修改类(MdifyStude nt)实现修改一个学生的所有资料;添加类 (AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。;删 除类(DeleteStudent)实现删除某班的一个学生及其所有资料。;删除类(DeleteClass) 实现删除一个班级;建立类(BuiltClasS实现输入学生信息建立一个班级。三运行调试与分析系统的详细设计代码请查阅附带的代码。以下仅对各个界面进行截图展示:国芋主营菩统X学生信息吕字生琶悪统- 口X学生信身1增加学生信息到指定班毅 删除一个学生学轄信息眩改一个字生信息 查甸某个学生信息
4、 删瞧一个斑级信息辎入一个学生建立一个班皴图1管理界面添加学生至惱定班级图2:添加学生到指定的班级界面图3:删除一个学生信息界面图4:修改一个学生信息界面图5:查询某个学生信息界面图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA程序中的StudentManager文件,显示系统的主界面,如图1所示, 主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。添加学 生到指定班级功能如图2所示,根据提示输入要添加的信息,点击确定,将弹出 提示框,确认是否添加。 输入一个学生建立一个班级功能如图 7 所示,根据提示 输入要添加的信息,点击确定,将弹出提示框,确认是否建立。删
5、除一个班级信 息功能如图 6 所示,根据提示输入班级号, 点击删除。删除一个学生信息功能如 图 3 所示,根据提示输入学号,点击删除。修改一个学生信息功能如图 4 所示, 首先输入要修改的人姓名, 点击开始修改, 在下面的文本框现实当前数据库内所 存该人的信息,同时录入修改键变化为可点击,在文本框内输入要修改的学号, 点击录入修改, 系统将新信息录如数据库。 点击查询某个学生信息按钮, 将弹出 查询对话框, 输入姓名便可以精确查询到此人的所有学籍信息。查询如图 5 所示,将显示数据库中所存的所有号码信息。四设计体会与小结期末大作业的课设,自己通过查找资料、复习课本、编程调试,写实验报告 等环节
6、,进一步掌握了以前学到的知识,并且还对GUI组键的应用有了更深入的 认识与掌握,另外还学到了一些新东西,比如 JAVA的SWING AWT包,以前是没有接触过的, 可是通过这次课程设计使得我们对这个包更了解。 通过与数据库 的连接掌握了 Java与数据库的连接技术。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习 java 语言,还是其它的语言, 以及其它的计算机方面的知识都要重在实践, 所以后在 学习过程中,我会更加注视实践操作,使自己便好地学好计算机。五程序代码package simplebighomework;import javax.swing.*;import java.
7、awt.*;import java.awt.event.*;import java.sql.*;public class StudentManager extends JFrame implements ActionListener / 继承JFrame 类JMenuBar jmb; / 菜单栏JMenu Message; / 菜单JMenuItem Item1,Item2,Item3,Item4,Item5,Item6; / 菜单项public StudentManager(String s) / 构造函数 StudentManage / 添加按键jmb = new JMenuBar();M
8、essage = new JMenu(学生信息);Iteml = new JMenultemC增加学生信息到指定班级); /菜单名Item2 = new JMenultem(删除一个学生学籍信息);Item3 = new JMenultem(修改一个学生信息);Item4 = new JMenultem(查询某个学生信息);Item5 = new JMenultem(删除一个班级信息);Item6 = new JMenultem(输入一个学生建立一个班级);Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(
9、Item4);Message.add(Item5);Message.add(Item6);jmb.add(Message);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);Item5.addActionListener(this);Item6.addActionListener(this);setTitle(s); / 设置窗口标题setBounds(500,300,500,500); /窗口的位置set
10、Visible(true); / 组件可见setJMenuBar(jmb); / 菜单栏validate(); / 再次布置容器及其组件setDefaultCloseOperati on (JFrame.EXIT_ON_CLOSE设/置隐藏,关闭,放 大窗口/e.getSource() = Item2) 返回public void actionPerformed(ActionEvent e) /ActionEvent 包含一个事件,该 事件为执行动作事件 点击按钮等if (e.getSource() = Item1) 的当前动作所指向的对象,包含对象的所有信息AddStudent ad = n
11、ew AddStudent(); else if (e.getSource() = Item2) / 通过获取事件源, 获取相应 的对象DeleteStudent ds = new DeleteStudent(); else if (e.getSource() = Item3) ModifyStudent ms = new ModifyStudent(); else if (e.getSource() = Item4) SearchStudent ss = new SearchStudent(); else if (e.getSource() = Item5) DeleteClass dc =
12、 new DeleteClass(); else if (e.getSource() = Item6) BuiltClass bc = new BuiltClass();public static void main(String args) StudentManager stu=new StudentManager(学生管理系统); package simplebighomework; import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddStuden
13、t extends JFrame implements ActionListener 继承 java的窗 口体类JLabel JL = new JLabe添加学生到指定班级, JLabel.CENTER);JLabel JLNumber = new JLabe 学号:); / 显示输入学号JTextField JTNumber = new JTextField(); / 创建文本框JLabel JLName = new JLabe姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabe班级:);ButtonGro
14、up BG = new ButtonGroup();JRadioButt on JRB1 = new JRadioButton一 班);JRadioButt on JRB2 = new JRadioButton二 班);/ 创建按钮JButton JBAdd = new JButto n 添加);JButton JBExit = new JButto n 退出);public AddStudent() this.setTitle(”添加学生到指定班级); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNu
15、mber.setBounds(140, 80, 100, 20); x 轴和 y 轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20); this.add(JLName);JTName.setBounds(180, 120, 80, 20); this.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass);JRB1.setBounds(180
16、, 160, 60, 20);JRB2.setBounds(240, 160, 60, 20); this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);this.add(JBExit);JBExit.addActionListener(this);/ 添加窗口的位置/ 监听接口/ 点击建立的时候生效/ 获取文
17、本框中的信息this.setBounds(500, 300, 500, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = JBAdd) String snumber = JTNumber.getText();String sname = JTName.getText();/ 单选按钮String sclass = 一 班;if (JRB1.isSelected() sclass = 一 班;elsesclass = 二 班;Connection con; / 声明
18、Connection 对象String driver = com.mysql.jdbc.Driver; / 驱动程序名/ 遍历查询结果集 try Class.forName(driver); / 加载驱动程序 conDriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false,root,zfj15162642062);/l.getConnection()方法,连接 MySQL数据库! !Statement statemen
19、t = con.createStatement(); /2. 创建statement类对象,用来执行SQL语句! !String sql = select * from student where id=+snumber+;/要执行的SQL语句ResultSet rs = statement.executeQuery(sql); /3.ResultSet 类,用来存放获取的结果集! !if (rs.next()JOptionPane.showMessageDialog(null,该号已经存在);/提示else sql = insert into student values( + snumbe
20、r + ,+ sname + , + sclass +);int i = statement.executeUpdate(sql); / 执行 SQL语句,把返回值赋给iif (i 0) JOptionPane.showMessageDialog(null, 建立 成功 );/ 提示成功elseJOptionPane.showMessageDialog(null, 添加 失败 ); / 提示失败catch (Exception ee) / 捕获异常if (e.getSource() = JBExit) / 退出按钮监视setVisible(false);public static void m
21、ain(String args) new BuiltClass();package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class BuiltClass extends JFrame implements ActionListener JLabel JL = new JLabe输入一个学生建立一个班级, JLabel.CENTER); / 什么意思JLabel JLNumber = new JLabe 学号:”); /
22、显示输入学号JTextField JTNumber = new JTextField(); /创建文本框JLabel JLName = new JLabe姓名 :);JTextField JTName = new JTextField();JLabel JLClass = new JLabe班级:);JTextField JTClass = new JTextField();JButton JBAdd = new JButto n 建立); / 创建按钮JButton JBExit = new JButto n 退出);/ 什么意思public BuiltClass() this.setTit
23、le(输入一个学生建立一个班级); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20); x 轴和 y 轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(180, 120, 80, 20); this
24、.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20); this.add(JBExit);JBExit.addActionListener(this);this.setBou
25、nds(500, 300, 500, 400);this.setVisible(true);/ 什么意思? 监听接口/ 点击建立的时候生效/ 获取文本框中的信息public void actionPerformed(ActionEvent e) if (e.getSource() = JBAdd) String snumber = JTNumber.getText();String sname = JTName.getText();String sclass = JTClass.getText();Connection con; / 声明 Connection 对象String driver
26、= com.mysql.jdbc.Driver; / 驱动程序名/ 遍历查询结果集try Class.forName(driver); / 加载驱动程序con = DriverManager.getConnection(jdbc:mysql:/localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false,root,zfj15162642062);/l.getConnection()方法,连接 MySQL数据库! !Statement statement = con.createStatement();
27、 /2.创建statement类对象,用来执行SQL语句!String sql = select * from student where id=+snumber+;ResultSet rs = statement.executeQuery(sql);3.ResultSet类,用来存放获取的结果集! !if (rs.next()JOptionPane.showMessageDialog(null,该号已经存在);/提示else sql = insert into student values( + snumber + ,+ sname + , + sclass +);/ 执行int i = s
28、tatement.executeUpdate(sql);SQL语句,把返回值赋给i if (i 0)JOptionPane.showMessageDialog(null, 建立 成功 ); / 提示成功elseJOptionPane.showMessageDialog(null, 添加 失败 ); / 提示失败catch (Exception ee) / 什么意思?if (e.getSource() = JBExit) / 什么意思?setVisible(false);public static void main(String args) new BuiltClass();package s
29、implebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteClass extends JFrame implements ActionListener JLabel JL = new JLabe删除一个班级信息,JLabel.CENTER);JLabel JLClass = new JLabe班级:);/ 显示班级窗口JTextField JTClass = new JTextField()输入班级的窗口JButton
30、JBDel = new JButto n 删除); JButton JBExit = new JButto n 退出);public DeleteClass() this.setTitle(删除一个班级信息); this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLClass.setBounds(140, 80, 60, 20);this.add(JLClass);JTClass.setBounds(180, 80, 80, 20);this.add(JTClass);JBDel.setBounds(120, 120, 60, 20); this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200, 120,
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2