Java学生信息管理(Swing窗体)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称:实验5:综合性程序设计—简单学生信息管理系统班级:***** 姓名:Zzz 学号:20151601****

一、实验目的

二、实验内容与结果

(1)任务描述(1.3与1.4二选一,建议选择1.4)

利用课程所学知识,设计并实现一个简单学生信息管理系统,要求如下:

1.1 声明Student类,该类实现Serializable接口以表明该类可以进行序列化。该类有姓名、学号(long),math、os、java用来存放对应的成绩,在构造方法中进行姓名、学号、课程成绩的赋值。Override由Object继承来的toString方法以便以友好格式显示自己的属性,格式为:张三12 os:90 java:90 math: 90。

1.2 建立一个类,利用数据库来存储多个Student,写完一个方法在main中写一段测试代码,运行以保证目前所做工作的正确性。有以下方法:add(Student stu):可以增加新的学生,并保存在数据库中。

update(Student stu):可以修改特定的学生,并保存在数据库中。

dispAll():可以显示所有的学生信息。

findById(long id):可以按照学号来查找,并显示符合条件的学生信息,查无该人的话显示错误信息。

findByName(String name):可以按照姓名查找学生,找到后显示其信息,查无此人显示错误信息。

delById(long id):可以按照id删除学生的信息,然后显示找到该人。若查无此人,显示相应的错误信息。

1.3 (控制台方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。

1.4 (Swing窗体方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。

(2)处理思路及关键技术说明

(3)程序完整源码(要求格式规范,适当注释)

(4)运行结果截图(按每个操作分别截图)

(2)处理思路及关键技术说明

分三个模块:一是 jdbc的代码,另一个是 Swing和AWT的代码,剩下是Student类。

Jdbc 一共有两个类:DBUtil(连接工具类)和Sql类(处理jdbc功能的静态方法)

Swing 和AWT一个有两个类:MyJFrame构建总窗口,MyJPanel 对窗口内的面板行

修饰。

然后就是Student类和Main主方法类。

关键部分:

1)在主窗体中add三个Jpanel,底层和第二层左右三个,右边的Jpanel实现cardLayout 布局,左边的Jpanel添加按钮并添加ActionListener来实现对象的card切换达到不同按钮进入不同功能面板的目的。

2)在MyJPanel类中,所有的init方法均传递参数JPanel p,对传递过来的Panel进行加工修饰,并且调用Sql里面对应功能的方法。

3)Sql中的显示全部信息的方法中使用了ArrayList来存储从studenttbl中读取的对象信息,存储之后为了按照String的方式显示在JtextArea中,又用了listToString方法,通过for循环并追加回车,使每个对象都转化为String并在后面加上了回车(separator),4)在Sql中的查找,删除,添加都使用了jdbc中的预处理PreparedStatement

在操作完毕后执行sts.executeUpdate();

5)在Sql排序方法中,把所有的信息都存储到list中以后,调用工具类Collections.sort:根据指定比较器产生的顺序对指定列表进行排序。

(3)程序完整源码(要求格式规范,适当注释)

class DBUtil

package test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class DBUtil {

private static String driver;

private static String url;

private static String username;

private static String password;

static {

driver="com.mysql.jdbc.Driver";

url="jdbc:mysql://localhost:3306/mydb";

username="root";

password="123456";

}

public static Connection open(){

try {

Class.forName(driver);

return DriverManager.getConnection(url,username,password);

}catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static void close(Connection conn){

if(conn!=null){

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

class Sql

package test;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Collections;

import parator;

import java.util.List;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextArea;

public class Sql {

public static String listToString(List list, char separator) {//使list返回String类型并加入控制符(换行)

StringBuilder sb = new StringBuilder();

相关文档
最新文档