期末大作业【学生选课与成绩管理系统1】Java+MySQL数据库+可视化图形界面 此项目包含学生信息管理、成绩管理、学生选课、教师课程信息管理等丰富功能
一、项目效果展示
本项目包含丰富子项目,涵盖增删改查和swing等基础java知识,Java+MySQL数据库+可视化图形界面,适用于初学者实战学习。
功能:①学籍信息管理 ②选课系统 ③教师课程信息管理 ④学生成绩管理。
代码经过精心调试,运行完全无误后发布。一共四个包,27个类,四个数据库表。如不想复制粘贴,也可以在我的Java专栏中下载本资源。
(一)总体功能结构图
本学生成绩管理系统的具体功能为三个模块和十五个子功能模块。下图为系统的总体功能结构图,如图 1-1 所示。
(二)界面演示
(三)项目结构目录
src包下建立四个package,每个package下创建相应的类名:
(四)开发环境
(1)操作系统:Windows 11
(2)数据库:MySQL
(3)开发环境:IDEA
(4)开发语言:Java
(五)项目结构
学生管理模块
- 1 添加学生界面
- 2 修改学生信息
- 3 删除学生信息
- 4 学生选课界面
- 5 查询学生信息
课程管理模块
- 1 添加课程信息
- 2 修改课程信息
- 3 删除课程信息
- 4 课程查询
成绩管理模块
- 1 录入成绩
- 2 修改成
- 3 查询成绩
(六)图形界面
添加界面:
修改界面
删除界面
选课界面
查询界面
添加课程
修改课程
删除课程
课程查询
录入成绩
修改成绩
查询成绩
二、数据库
建库
建立一个名为yybtest的数据库,下面新建4个数据表
建表
course表
grade表
student表
studenttab表
三、源代码
manager包
CourseManager类
package cvit.com.manager;
import cvit.com.manager.*;
import cvit.com.pub.DBConn;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import cvit.com.model.Course;
import java.sql.SQLException;
import java.util.Vector;
//课程管理类
public class CourseManager {
//添加课程信息
public int addCourse(Course c) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "insert into course values('" + c.getCno()+ "', '" +
c.getCname() + "', '" + c.getCteacher() +"', '" +
c.getCtype() + "', '" + c.getCplace() +"', '" + c.getCtime() +"')";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return i;
}
//删除课程信息
public int deleteCourse(String cno) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "delete from course where cno='" + cno +"'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
//修改课程信息
public int update_Course(String cno, String cname, String cteacher,
String ctype, String cplace, String ctime)
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "update course set cname='" + cname +"', cteacher='"+
cteacher + "', ctype='" + ctype +"', cplace='"+
cplace + "', ctime='" + ctime + "' wherecno='" + cno +"'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
//根据课程编号查询课程信息
public Course findCourse(String cno) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "select *from course where cno='" + cno +"'";
Course c = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
c = new Course();
c.setCno(rs.getString("cno"));
c.setCname(rs.getString("cname"));
c.setCteacher(rs.getString("cteacher"));
c.setCtype(rs.getString("ctype"));
c.setCplace(rs.getString("cplace"));
c.setCtime(rs.getString("ctime"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return c;
}
//根据课程名称查询课程信息
public Course findCourse_name(String cname) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "select *from course where cname='" + cname+"'";
Course c = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
c = new Course();
c.setCno(rs.getString("cno"));
c.setCname(rs.getString("cname"));
c.setCteacher(rs.getString("cteacher"));
c.setCtype(rs.getString("ctype"));
c.setCplace(rs.getString("cplace"));
c.setCtime(rs.getString("ctime"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return c;
}
//根据教师名称查询课程信息
public Course findCourse_teacher(String cteacher) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "select *from course where cteacher='" +cteacher + "'";
Course c = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
c = new Course();
c.setCno(rs.getString("cno"));
c.setCname(rs.getString("cname"));
c.setCteacher(rs.getString("cteacher"));
c.setCtype(rs.getString("ctype"));
c.setCplace(rs.getString("cplace"));
c.setCtime(rs.getString("ctime"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return c;
}
//查询全部课程名称
public Vector selectCourse() {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select cname from course";
Vector v = new Vector();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("cname"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return v;
}
//获得全部教师名称
public Vector selectCourse2() {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select cteacher from course";
Vector v = new Vector();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("cteacher"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return v;
}
//根据课程名称查询
public Course findOneCourse(String cname) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
String sql ="select cno, cteacher, cplace, ctype, ctime from course where cname='" + cname + "'";
Course c = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
c = new Course();
c.setCno(rs.getString("cno"));
c.setCteacher(rs.getString("cteacher"));
c.setCtype(rs.getString("ctype"));
c.setCplace(rs.getString("cplace"));
c.setCtime(rs.getString("ctime"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return c;
}
//根据教师名称查询
public Course findOneCourse2(String cteacher) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
String sql ="select cno, cname, cplace, ctype, ctime from course where cteacher='" +cteacher + "'";
Course c = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
c = new Course();
c.setCno(rs.getString("cno"));
c.setCname(rs.getString("cname"));
c.setCtype(rs.getString("ctype"));
c.setCplace(rs.getString("cplace"));
c.setCtime(rs.getString("ctime"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return c;
}
}
GradeManager类
package cvit.com.manager;
import cvit.com.model.Grade;
import cvit.com.pub.DBConn;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import cvit.com.model.Grade;
import java.sql.SQLException;
import java.util.Vector;
import cvit.com.model.ZH;
//成绩管理类
public class GradeManager {
//添加成绩
public int addGrade(Grade g) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "update grade set grade='" + g.getGrade() + "'where sno='" +
g.getSno() + "'and cno='" + g.getCno() + "'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return i; }
//选课
public int chooseCourse(String sno, String cno) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "insert into grade values('" + sno + "', '" + cno +"', ' ')";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return i;
}
//根据学号、课程名查询一个学生成绩
public Grade findGrade(String sno, String cno) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
String sql = "select *from grade where sno='" + sno + "'and cno='" + cno + "'";
Grade g = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
g = new Grade();
g.setSno(rs.getString("sno"));
g.setCno(rs.getString("cno"));
g.setGrade(rs.getString("grade"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return g;
}
//修改成绩
public int updateGrade(String sno, String cno, String grade) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "update grade set cno='" + cno + "', grade='" + grade +
"' where sno='" + sno + "'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return i;
}
//查询一个学生全部学科的成绩
public Vector selectGradestudent(String sno) {
Vector list = new Vector();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select student.sno, sname, course.cno, cname, grade from student, course, grade where grade.sno='" + sno + "'";
ZH zh = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int i = 0;
while (rs.next()) {
zh = new ZH();
zh.setCno(rs.getString("cno"));
zh.setCname(rs.getString("cname"));
zh.setGrade(rs.getString("grade"));
list.add(zh);
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return list;
}
}
StudentManager类
package cvit.com.manager;
import java.sql.ResultSet;
import cvit.com.pub.DBConn;
import java.sql.*;
import cvit.com.model.*;
import java.util.Vector;
//学生信息管理类
public class StudentManager {
//添加学生信息
public int addStudent(Student s) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "insert into student values('" + s.getSno() + "', '" +
s.getSname() + "', '" + s.getSsex() + "', '" + s.getSethnix() +
"', '" + s.getShome() + "', '" + s.getSyear() + "', '" +
s.getSmajor() + "', '" + s.getScollege() + "', '" +
s.getSbirth() + "')";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return i;
}
//删除学生信息
public int deleteUser(String sno) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "delete from student where sno='" + sno + "'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
//修改学生信息
public int update_Student(String sno, String sname, String ssex,
String sethnix, String shome, String syear,
String smajor, String scollege, String sbirth) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
int i = 0;
String sql = "update student set sname='" + sname +"', ssex='" + ssex + "', sethnix='" + sethnix +"', shome='" + shome + "', syear='" + syear +"', smajor='" + smajor + "', scollege='" + scollege +"', sbirth='" + sbirth + "' where sno='" + sno + "'";
try {
stmt = conn.createStatement();
i = stmt.executeUpdate(sql);
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
//根据学号查询学生信息
public Student findStudent(String sno) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
String sql = "select *from student where sno='" + sno + "'";
Student s = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return s;
}
//根据姓名查询学生信息
public Student findStudentname(String sname) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
String sql = "select *from student where sname='" + sname + "'";
Student s = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return s;
}
//根据性别查询学生信息
public Student findStudentsex(String ssex) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
String sql = "select *from student where ssex='" + ssex + "'";
Student s = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return s;
}
//根据专业查询学生信息
public Student findStudenmajor(String smajor) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
String sql = "select *from student where smajor='" + smajor + "'";
Student s = null;
DBConn db = new DBConn();
conn = db.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException ex3) {
ex3.printStackTrace();
}
return s;
}
//按分院查询所有学生信息
public Vector findStudentcollege(String scollege) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
Vector list = new Vector();
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select *from student where scollege='" + scollege + "'";
Student s = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int i = 0;
while (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
list.add(i,
s.getSno() + " " + s.getSname() + " " + s.getSsex() + " " +
s.getSethnix() + " " + s.getShome() + " " + s.getSyear() +
" " + s.getSmajor() + " " + s.getScollege() + " " +
s.getSbirth());
i++;
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return list;
}
//获得全部分院名称
public Vector selectStudentcollege() {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select scollege from student";
Vector v = new Vector();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("scollege"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return v;
}
//获得全部专业
public Vector selectStudentmajor() {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select smajor from student";
Vector v = new Vector();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("smajor"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return v;
}
//按专业查询
public Vector findStudentmajor(String smajor) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
Vector list = new Vector();
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select *from student where smajor='" + smajor + "'";
Student s = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int i = 0;
while (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
list.add(i,
s.getSno() + " " + s.getSname() + " " + s.getSsex() + " " +
s.getSethnix() + " " + s.getShome() + " " + s.getSyear() +
" " + s.getSmajor() + " " + s.getScollege() + " " +
s.getSbirth());
i++;
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return list;
}
//按性别查询
public Vector findStudentsex1(String ssex) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
Vector list = new Vector();
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select *from student where ssex='" + ssex + "'";
Student s = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int i = 0;
while (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
list.add(i,
s.getSno() + " " + s.getSname() + " " + s.getSsex() + " " +
s.getSethnix() + " " + s.getShome() + " " + s.getSyear() +
" " + s.getSmajor() + " " + s.getScollege() + " " +
s.getSbirth());
i++;
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return list;
}
//按姓名查询
public Vector find;
Vector Student_name(String sname) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
Vector list = new Vector();
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select *from student where sname='" + sname + "'";
Student s = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int i = 0;
while (rs.next()) {
s = new Student();
s.setSno(rs.getString("sno"));
s.setSname(rs.getString("sname"));
s.setSsex(rs.getString("ssex"));
s.setSethnix(rs.getString("sethnix"));
s.setShome(rs.getString("shome"));
s.setSyear(rs.getString("syear"));
s.setSmajor(rs.getString("smajor"));
s.setScollege(rs.getString("scollege"));
s.setSbirth(rs.getString("sbirth"));
list.add(i,
s.getSno() + " " + s.getSname() + " " + s.getSsex() + " " +
s.getSethnix() + " " + s.getShome() + " " + s.getSyear() +
" " + s.getSmajor() + " " + s.getScollege() + " " +
s.getSbirth());
i++;
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return list;
}
//查询全部
public Vector selectStudent() {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select sno from student";
Vector v = new Vector();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
v.add(rs.getString("sno"));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return v;
}
//通过学号查询全部
public String findOneStudent(String sno) {
Connection conn=null; //连接数据库对象
Statement stmt=null; //执行sql语句的对象
ResultSet rs=null; //执行sql语句的返回结果
DBConn db = new DBConn();
conn = db.getConn();
String sql = "select sname from student where sno='" + sno + "'";
String s = "";
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
s = rs.getString("sname");
}
rs.close();
stmt.close();
conn.close();
} catch (Exception em) {
em.printStackTrace();
System.out.println("sql有错");
}
return s;
}
}
model包
Course类
package cvit.com.model; //包
//课程类
public class Course {
public String cno; //课程编号
public String cname; //课程名称
public String cteacher;//任课教师
public String ctype; //科目类型
public String cplace; //上课地点
public String ctime; //上课时间
//以下是set和get方法
public void setCname(String cname) {
this.cname = cname;
}
public void setCno(String cno) {
this.cno = cno;
}
public void setCplace(String cplace) {
this.cplace = cplace;
}
public void setCteacher(String cteacher) {
this.cteacher = cteacher;
}
public void setCtime(String ctime) {
this.ctime = ctime;
}
public void setCtype(String ctype) {
this.ctype = ctype;
}
public String getCtype() {
return ctype;
}
public String getCtime() {
return ctime;
}
public String getCteacher() {
return cteacher;
}
public String getCplace() {
return cplace;
}
public String getCno() {
return cno;
}
public String getCname() {
return cname;
}
}
Grade类
package cvit.com.model;
//成绩类
public class Grade {
public String sno; //学生学号
public String cno; //课程编号
public String grade; //成绩
//以下是set和get方法
public String getCno() {
return cno;
}
public String getGrade() {
return grade;
}
public String getSno() {
return sno;
}
public void setCno(String cno) {
this.cno = cno;
}
public void setGrade(String grade) {
this.grade = grade;
}
public void setSno(String sno) {
this.sno = sno;
}
}
Student类
package cvit.com.model;//包
//学生类
public class Student {
public String sno; //学号
public String sname; //学生姓名
public String ssex; //学生性别
public String sethnix; //民族
public String shome; //籍贯
public String syear; //入学时间
public String smajor; //专业
public String scollege; //所在分院
public String sbirth; //出生日期
//以下是set和get方法
public String getSbirth() {
return sbirth;
}
public String getScollege() {
return scollege;
}
public String getSethnix() {
return sethnix;
}
public String getShome() {
return shome;
}
public String getSmajor() {
return smajor;
}
public String getSname() {
return sname;
}
public String getSno() {
return sno;
}
public String getSsex() {
return ssex;
}
public String getSyear() {
return syear;
}
public void setSbirth(String sbirth) {
this.sbirth = sbirth;
}
public void setScollege(String scollege) {
this.scollege = scollege;
}
public void setSethnix(String sethnix) {
this.sethnix = sethnix;
}
public void setShome(String shome) {
this.shome = shome;
}
public void setSmajor(String smajor) {
this.smajor = smajor;
}
public void setSname(String sname) {
this.sname = sname;
}
public void setSno(String sno) {
this.sno = sno;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public void setSyear(String syear) {
this.syear = syear;
}
}
ZH类
package cvit.com.model;
//综合查询类
public class ZH {
public String sno; //学生学号
public String sname; //学生姓名
public String cno; //课程编号
public String cname; //课程名称
public String grade; //成绩
//以下是set和get方法
public String getCname() {
return cname;
}
public String getCno() {
return cno;
}
public String getGrade() {
return grade;
}
public String getSname() {
return sname;
}
public String getSno() {
return sno;
}
public void setCname(String cname) {
this.cname = cname;
}
public void setCno(String cno) {
this.cno = cno;
}
public void setGrade(String grade) {
this.grade = grade;
}
public void setSname(String sname) {
this.sname = sname;
}
public void setSno(String sno) {
this.sno = sno;
}
}
pub包
DBConn类
package cvit.com.pub;
import java.sql.*;
public class DBConn{ //连接数据库
private String driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/yybtest";
private Connection conn=null; //连接数据库对象
private String user="root"; //用户名
private String pwd="x5"; //口令
public Connection getConn() {
try {
Class.forName(driver);
} catch (ClassNotFoundException ex) {
System.out.println("加载驱动程序有错误,驱动程序类不存在");
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yybtest", "root", "x5");
} catch (SQLException ex1) {
System.out.print("取得连接的时候有错误,请核对用户名和密码");
}
return conn;
}
//测试是否连接数据库
public static void main(String args[]) {
DBConn db = new DBConn();
Connection conn = db.getConn();
System.out.println("Ok");
}
}
view包
类1:AllgradePanel
package cvit.com.view;
public class AllgradePanel {
}
类2:StuMainFrame
package cvit.com.view;
import java.awt.*;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Dimension;
import java.awt.Font;
import cvit.com.view.*;
//系统主界面
public class StuMainFrame extends JFrame implements ActionListener {
//定义菜单条
JMenuBar mb = new JMenuBar();
//定义菜单
JMenu systemment = new JMenu("系统管理");
JMenu studentment = new JMenu("学生管理");
JMenu coursement = new JMenu("课程管理");
JMenu gradement = new JMenu("成绩管理");
JMenu informationment = new JMenu("信息查询");
JMenu student_select = new JMenu("学生查询");
JMenu course_select = new JMenu("课程查询");
JMenu grade_select = new JMenu("成绩查询");
JMenuItem exit = new JMenuItem("退出");
JMenuItem student_add = new JMenuItem("增加");
JMenuItem student_update = new JMenuItem("修改");
JMenuItem student_delete = new JMenuItem("删除");
JMenuItem student_choose = new JMenuItem("学生选课");
JMenuItem course_add = new JMenuItem("课程增加");
JMenuItem course_update = new JMenuItem("课程修改");
JMenuItem course_delete = new JMenuItem("课程删除");
JMenuItem grade_add = new JMenuItem("成绩增加");
JMenuItem grade_update = new JMenuItem("成绩修改");
JMenuItem select_no = new JMenuItem("按学号查询");
JMenuItem select_name = new JMenuItem("按学生姓名查询");
JMenuItem select_sex = new JMenuItem("按学生性别查询");
JMenuItem select_major = new JMenuItem("按专业查询");
JMenuItem select_college = new JMenuItem("按学院查询");
JMenuItem select_cname = new JMenuItem("按课程名称查询");
JMenuItem select_cteacher = new JMenuItem("按授课教师查询");
JMenuItem select_allgrade = new JMenuItem("查询所有科目成绩");
JPanel p = null;
JTextField jtf1 = new JTextField();
BorderLayout borderLayout1 = new BorderLayout();
public StuMainFrame() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(borderLayout1);
this.getContentPane().setBackground(new Color(168, 233, 216));
this.setJMenuBar(mb);
jtf1.setBackground(SystemColor.control);
jtf1.setEnabled(false);
jtf1.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
jtf1.setForeground(Color.cyan);
jtf1.setSelectionColor(Color.black);
//以下是向菜单条添加菜单项
mb.add(systemment);
mb.add(studentment);
mb.add(coursement);
mb.add(gradement);
mb.add(informationment);
//以下是向菜单中添加菜单项
systemment.add(exit); //系统管理退出
studentment.add(student_add); //学生管理
studentment.add(student_update);
studentment.add(student_delete);
studentment.add(student_choose);
coursement.add(course_add); //课程管理
coursement.add(course_update);
coursement.add(course_delete);
gradement.add(grade_add); //成绩管理
gradement.add(grade_update);
informationment.add(student_select); //信息查询
informationment.add(course_select);
informationment.add(grade_select);
//以下是向二级菜单中添加菜单项
student_select.add(select_no);
student_select.add(select_name);
student_select.add(select_sex);
student_select.add(select_major);
student_select.add(select_college);
course_select.add(select_cname);
course_select.add(select_cteacher);
grade_select.add(select_allgrade);
this.getContentPane().add(jtf1, java.awt.BorderLayout.SOUTH);
exit.addActionListener(this);
//注册菜单监听
student_add.addActionListener(this); //添加学生信息
student_update.addActionListener(this); //修改学生信息
student_delete.addActionListener(this); //删除学生信息
student_choose.addActionListener(this); //学生选课
course_add.addActionListener(this); //添加课程信息
course_update.addActionListener(this); //修改课程信息
course_delete.addActionListener(this); //删除学生信息
grade_add.addActionListener(this); //添加成绩
grade_update.addActionListener(this); //修改成绩
select_no.addActionListener(this); //按学号查询
select_major.addActionListener(this); //按专业查询
select_cname.addActionListener(this); //按课程名称查询
select_cteacher.addActionListener(this); //按任课教师查询
select_college.addActionListener(this); //按学院查询
select_sex.addActionListener(this); //按性别查询
select_name.addActionListener(this); //按姓名查询
select_allgrade.addActionListener(this); //所有成绩
//版权信息
jtf1.setText("学生信息管理系统版由CVIT开发, 盗版必究! ");
jtf1.setHorizontalAlignment(SwingConstants.CENTER);
this.setTitle("学生信息管理系统"); //窗体名称
this.setSize(600, 600); //大小
this.setVisible(true); //可见性
//以下为设置窗体居中
//获得屏幕的宽和高
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//获得当前窗体的宽和高
Dimension frameSize = this.getSize();
//设置窗体居中
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
this.setVisible(true);
}
public static void main(String[] args) {
StuMainFrame sm = new StuMainFrame();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == exit) { //退出
this.setVisible(false);
}
//添加学生信息
if (e.getSource() == student_add) {
if (p != null) {
this.remove(p);
}
//定义一个添加学生信息页面的对象
p = new Add_studentPanel();
//将panel放在页面的中间
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//修改学生信息
if (e.getSource() == student_update) {
if (p != null) {
this.remove(p);
}
p = new Update_studentPanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//删除学生信息
if (e.getSource() == student_delete) {
if (p != null) {
this.remove(p);
}
p = new Delete_studentPanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//学生选课
if (e.getSource() == student_choose) {
if (p != null) {
this.remove(p);
}
p = new Student_choosePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//添加课程信息
if (e.getSource() == course_add) {
if (p != null) {
this.remove(p);
}
p = new Add_coursePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//修改课程信息
if (e.getSource() == course_update) {
if (p != null) {
this.remove(p);
}
p = new Update_coursePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//删除课程信息
if (e.getSource() == course_delete) {
if (p != null) {
this.remove(p);
}
p = new Delete_coursePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//成绩添加
if (e.getSource() == grade_add) {
if (p != null) {
this.remove(p);
}
p = new Add_gradePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//成绩修改
if (e.getSource() == grade_update) {
if (p != null) {
this.remove(p);
}
p = new Update_gradePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按学号查询
if (e.getSource() == select_no) {
if (p != null) {
this.remove(p);
}
p = new Select_studentnoPanel1();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按分院查询
if (e.getSource() == select_college) {
if (p != null) {
this.remove(p);
}
p = new Select_studentcollegePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按专业查询
if (e.getSource() == select_major) {
if (p != null) {
this.remove(p);
}
p = new Select_studentmajorPanel1();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按课程名称查询
if (e.getSource() == select_cname) {
if (p != null) {
this.remove(p);
}
p = new Select_coursecnamePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按任课教师查询
if (e.getSource() == select_cteacher) {
if (p != null) {
this.remove(p);
}
p = new Select_coursecteacherPanel1();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按学生姓名查询
if (e.getSource() == select_name) {
if (p != null) {
this.remove(p);
}
p = new Select_studentnamePanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//按性别查询
if (e.getSource() == select_sex) {
if (p != null) {
this.remove(p);
}
p = new Select_studentsexPanel();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
//查询所有科目成绩
if (e.getSource() == select_allgrade) {
if (p != null) {
this.remove(p);
}
p = new Select_gradestudentPanel1();
this.getContentPane().add(p, java.awt.BorderLayout.CENTER);
this.setVisible(true);
}
}
}
类3:Add_coursePanel
package cvit.com.view;
import cvit.com.manager.CourseManager;
import cvit.com.model.Course;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import cvit.com.manager.CourseManager;
//添加课程
public class Add_coursePanel extends JPanel {
public Add_coursePanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(new Color(168, 233, 216));
btn_add.setBounds(new Rectangle(37, 182, 81, 23));
btn_add.setText("添加");
btn_add.addActionListener(new Add_coursePanel_btn_add_actionAdapter(this));
btn_null.setBounds(new Rectangle(153, 182, 81, 23));
btn_null.setText("清空");
btn_null.addActionListener(new Add_coursePanel_btn_null_actionAdapter(this));
btn_exit.setBounds(new Rectangle(267, 182, 81, 23));
btn_exit.setText("退出");
btn_exit.addActionListener(new Add_coursePanel_btn_exit_actionAdapter(this));
jLabel1.setText("课程类别");
jLabel1.setBounds(new Rectangle(198, 87, 62, 15));
jLabel2.setToolTipText("");
jLabel2.setText("授课教师");
jLabel2.setBounds(new Rectangle(19, 89, 53, 15));
tctime.setBounds(new Rectangle(265, 123, 77, 20));
tcno.setBounds(new Rectangle(93, 45, 77, 20));
tteacher.setBounds(new Rectangle(91, 85, 77, 20));
jLabel3.setText("上课时间");
jLabel3.setBounds(new Rectangle(199, 124, 57, 15));
jLabel4.setText("课程编码");
jLabel4.setBounds(new Rectangle(20, 47, 65, 15));
jLabel5.setText("课程名称");
jLabel5.setBounds(new Rectangle(201, 47, 60, 15));
tcplace.setBounds(new Rectangle(93, 123, 77, 20));
tctype.setBounds(new Rectangle(265, 85, 77, 20));
tcname.setBounds(new Rectangle(264, 44, 77, 20));
jLabel6.setText("上课地点");
jLabel6.setBounds(new Rectangle(19, 124, 67, 15));
this.add(tteacher);
this.add(jLabel1);
this.add(tctime);
this.add(tcno);
this.add(jLabel3);
this.add(jLabel5);
this.add(tcplace);
this.add(tctype);
this.add(tcname);
this.add(jLabel6);
this.add(jLabel4);
this.add(btn_null);
this.add(btn_add);
this.add(btn_exit);
this.add(jLabel2);
this.setVisible(true); //窗体可见性
this.setSize(600, 600); //设置窗体大小
}
JButton btn_add = new JButton();
JButton btn_null = new JButton();
JButton btn_exit = new JButton();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField tctime = new JTextField();
JTextField tcno = new JTextField();
JTextField tteacher = new JTextField();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JTextField tcplace = new JTextField();
JTextField tctype = new JTextField();
JTextField tcname = new JTextField();
JLabel jLabel6 = new JLabel();
public void btn_add_actionPerformed(ActionEvent e) {
String cno=""; //定义空的学生信息属性
String cname = "";
String cteacher = "";
String ctype = "";
String cplace = "";
String ctime = "";
if (!tcno.getText().equals("")) {
cno=tcno.getText(); //获得课程名称文本框中的内容
} else {
JOptionPane.showMessageDialog(this, "课程编码不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tcname.getText().equals("")) {
cname = tcname.getText();
} else {
JOptionPane.showMessageDialog(this, "课程名称不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tteacher.getText().equals("")) {
cteacher = tteacher.getText();
} else {
JOptionPane.showMessageDialog(this, "授课教师不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tctype.getText().equals("")) {
ctype = tctype.getText();
} else {
JOptionPane.showMessageDialog(this, "课程类别不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tcplace.getText().equals("")) {
cplace = tcplace.getText();
} else {
JOptionPane.showMessageDialog(this, "上课地点不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tctime.getText().equals("")) {
ctime = tctime.getText();
} else {
JOptionPane.showMessageDialog(this, "上课时间不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
Course c=new Course(); //定义课程信息并对信息封装
c.setCno(cno);
c.setCname(cname);
c.setCteacher(cteacher);
c.setCtype(ctype);
c.setCplace(cplace);
c.setCtime(ctime);
CourseManager cm = new CourseManager();
int i=cm.addCourse(c); //调用添加课程信息方法
if (i > 0) {
JOptionPane.showMessageDialog(this, "添加成功!", "提示信息",
JOptionPane.INFORMATION_MESSAGE);
tcno.setText(""); //清空文本框内容
tcname.setText("");
tctype.setText("");
tcplace.setText("");
tteacher.setText("");
tctime.setText("");
} else {
JOptionPane.showMessageDialog(this, "添加失败!", "提示信息",
JOptionPane.ERROR_MESSAGE);
}
}
public void btn_null_actionPerformed(ActionEvent e) {
tcno.setText(""); //清空文本框内容
tcname.setText("");
tteacher.setText("");
tctype.setText("");
tcplace.setText("");
tctime.setText("");
}
//退出按钮关闭当前页面
public void btn_exit_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
}
class Add_coursePanel_btn_exit_actionAdapter implements ActionListener {
private Add_coursePanel adaptee;
Add_coursePanel_btn_exit_actionAdapter(Add_coursePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_exit_actionPerformed(e);
}
}
class Add_coursePanel_btn_null_actionAdapter implements ActionListener {
private Add_coursePanel adaptee;
Add_coursePanel_btn_null_actionAdapter(Add_coursePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_null_actionPerformed(e);
}
}
class Add_coursePanel_btn_add_actionAdapter implements ActionListener {
private Add_coursePanel adaptee;
Add_coursePanel_btn_add_actionAdapter(Add_coursePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_add_actionPerformed(e);
}
}
类4:Add_gradePanel
package cvit.com.view;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import cvit.com.manager.CourseManager;
import cvit.com.manager.StudentManager;
import java.util.Vector;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import cvit.com.model.Course;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import cvit.com.model.Grade;
import javax.swing.JOptionPane;
import cvit.com.manager.GradeManager;
//添加分数
public class Add_gradePanel extends JPanel {
public Add_gradePanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(new Color(168, 233, 216));
jLabel1.setText("学号");
jLabel1.setBounds(new Rectangle(30, 22, 42, 15));
jLabel2.setText("姓名");
jLabel2.setBounds(new Rectangle(200, 20, 42, 15));
jLabel3.setText("课程名称");
jLabel3.setBounds(new Rectangle(23, 76, 55, 15));
jLabel4.setText("课程编码");
jLabel4.setBounds(new Rectangle(201, 74, 57, 15));
jLabel5.setText("授课教师");
jLabel5.setBounds(new Rectangle(15, 129, 61, 15));
jLabel6.setText("成绩");
jLabel6.setBounds(new Rectangle(202, 129, 42, 15));
btn_add.setBounds(new Rectangle(76, 176, 81, 23));
btn_add.setText("增加");
btn_add.addActionListener(new addcjPanel1_btn_add_actionAdapter(this));
btn_exit.setBounds(new Rectangle(233, 175, 81, 23));
btn_exit.setText("退出");
btn_exit.addActionListener(new addcjPanel1_btn_exit_actionAdapter(this));
jcb_sno.setBounds(new Rectangle(91, 17, 89, 23));
jcb_sno.addItemListener(new addcjPanel1_jcb_sno_itemAdapter(this));
jcb_cname.setBounds(new Rectangle(92, 72, 89, 23));
jcb_cname.addItemListener(new addcjPanel1_jcb_cname_itemAdapter(this));
tsname.setEnabled(false);
tsname.setBounds(new Rectangle(261, 19, 77, 20));
tcno.setEnabled(false);
tcno.setBounds(new Rectangle(260, 74, 77, 20));
tcteacher.setEnabled(false);
tcteacher.setBounds(new Rectangle(91, 127, 77, 20));
tgrade.setBounds(new Rectangle(262, 127, 77, 20));
this.add(jLabel2);
this.add(jcb_sno);
this.add(tsname);
this.add(jLabel1);
this.add(tcno);
this.add(jLabel4);
this.add(jcb_cname);
this.add(jLabel3);
this.add(tcteacher);
this.add(jLabel5);
this.add(jLabel6);
this.add(tgrade);
this.add(btn_exit);
this.add(btn_add);
this.setVisible(true);
this.setSize(600, 600);
Vector v=sm.selectStudent(); //调用查询所有学号方法
for (int i = 0; i < v.size(); i++) {
jcb_sno.addItem(v.get(i).toString()); //将数据库所有学号添加到下拉列表中
}
Vector v1=cm.selectCourse(); //调用查询所有科目名称方法
for (int i = 0; i < v1.size(); i++) {
jcb_cname.addItem(v1.get(i).toString()); //将数据库中所有的课程名称添加到列表中
}
}
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JButton btn_add = new JButton();
JButton btn_exit = new JButton();
JComboBox jcb_sno = new JComboBox();
JComboBox jcb_cname = new JComboBox();
JTextField tsname = new JTextField();
JTextField tcno = new JTextField();
JTextField tcteacher = new JTextField();
JTextField tgrade = new JTextField();
StudentManager sm=new StudentManager(); //初始化中定义学生管理对象
CourseManager cm=new CourseManager(); //初始化中定义课程管理对象
public static void main(String[] args) {Add_gradePanel sm = new Add_gradePanel();
}
public void jcb_sno_itemStateChanged(ItemEvent e) {
//调用按学号查询学生信息方法
tsname.setText(sm.findOneStudent(jcb_sno.getSelectedItem().toString()));
}
public void jcb_cname_itemStateChanged(ItemEvent e) {
//调用按课程名称查询课程信息方法
Course c = cm.findOneCourse(jcb_cname.getSelectedItem().toString());
tcno.setText(c.getCno());
tcteacher.setText(c.getCteacher());
}
public void btn_exit_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
public void btn_add_actionPerformed(ActionEvent e) {
String sno = (String) jcb_sno.getSelectedItem();
String cno = tcno.getText();
String grade = tgrade.getText();
Grade g = new Grade();
g.setSno(sno);
g.setCno(cno);
g.setGrade(grade);
GradeManager gm = new GradeManager();
int i=gm.addGrade(g); //调用添加成绩方法
if (i > 0) {
JOptionPane.showMessageDialog(this, "添加成功!", "提示信息",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "学生与实际选课科目不符,请核对!",
"提示信息", JOptionPane.ERROR_MESSAGE);
}
}
}
class addcjPanel1_btn_add_actionAdapter implements ActionListener {
private Add_gradePanel adaptee;
addcjPanel1_btn_add_actionAdapter(Add_gradePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_add_actionPerformed(e);
}
}
class addcjPanel1_btn_exit_actionAdapter implements ActionListener {
private Add_gradePanel adaptee;
addcjPanel1_btn_exit_actionAdapter(Add_gradePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_exit_actionPerformed(e);
}
}
class addcjPanel1_jcb_cname_itemAdapter implements ItemListener {
private Add_gradePanel adaptee;
addcjPanel1_jcb_cname_itemAdapter(Add_gradePanel adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jcb_cname_itemStateChanged(e);
}
}
class addcjPanel1_jcb_sno_itemAdapter implements ItemListener {
private Add_gradePanel adaptee;
addcjPanel1_jcb_sno_itemAdapter(Add_gradePanel adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jcb_sno_itemStateChanged(e);
}
}
类5:Add_studentPanel
package cvit.com.view;
import cvit.com.manager.StudentManager;
import cvit.com.model.Student;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
//添加学生信息
public class Add_studentPanel extends JPanel {
public Add_studentPanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setSize(600, 600);
this.setBackground(new Color(168, 233, 216));
this.setVisible(true);
jLabel1.setText("学号");
jLabel1.setBounds(new Rectangle(15, 36, 42, 15));
jLabel2.setText("性别");
jLabel2.setBounds(new Rectangle(14, 74, 42, 15));
tsno.setBounds(new Rectangle(79, 33, 77, 20));
jLabel3.setText("姓名");
jLabel3.setBounds(new Rectangle(187, 35, 42, 15));
jLabel4.setText("民族");
jLabel4.setBounds(new Rectangle(184, 75, 42, 15));
tsname.setBounds(new Rectangle(250, 32, 77, 20));
jLabel5.setText("出生日期");
jLabel5.setBounds(new Rectangle(5, 112, 67, 15));
jLabel6.setText("入学时间");
jLabel6.setBounds(new Rectangle(185, 112, 57, 15));
tsbirth.setBounds(new Rectangle(79, 111, 77, 20));
tstime.setBounds(new Rectangle(251, 111, 77, 20));
jLabel7.setText("学院");
jLabel7.setBounds(new Rectangle(15, 154, 42, 15));
tscollege.setBounds(new Rectangle(79, 153, 77, 20));
jLabel8.setText("专业");
jLabel8.setBounds(new Rectangle(188, 154, 42, 15));
tsmajor.setBounds(new Rectangle(251, 156, 77, 20));
jLabel9.setText("籍贯");
jLabel9.setBounds(new Rectangle(16, 197, 42, 15));
tsplace.setBounds(new Rectangle(77, 198, 251, 20));
btn1.setBounds(new Rectangle(35, 247, 81, 23));
btn1.setText("添加");
btn1.addActionListener(new Add_studentPanel_btn1_actionAdapter(this));
btn2.setBounds(new Rectangle(151, 247, 81, 23));
btn2.setText("清空");
btn2.addActionListener(new Add_studentPanel_btn2_actionAdapter(this));
btn3.setBounds(new Rectangle(265, 247, 81, 23));
btn3.setText("退出");
btn3.addActionListener(new Add_studentPanel_btn3_actionAdapter(this));
jcb_sex.setBounds(new Rectangle(77, 66, 43, 23));
jcb_ethnix.setBounds(new Rectangle(253, 66, 58, 23));
this.add(tsno);
this.add(jLabel3);
this.add(tsname);
this.add(btn1);
this.add(btn2);
this.add(jLabel5);
this.add(jLabel1);
this.add(tscollege);
this.add(tsbirth);
this.add(tstime);
this.add(jLabel6);
this.add(jLabel4);
this.add(jLabel2);
this.add(jLabel7);
this.add(jLabel8);
this.add(tsmajor);
this.add(jLabel9);
this.add(tsplace);
this.add(btn3);
this.add(jcb_ethnix);
this.add(jcb_sex);
jcb_sex.addItem("男"); //向性别的列表中添加内容
jcb_sex.addItem("女");
jcb_ethnix.addItem("汉族"); //向民族的列表中添加内容
jcb_ethnix.addItem("蒙族");
jcb_ethnix.addItem("回族");
jcb_ethnix.addItem("满族");
}
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField tsno = new JTextField();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JTextField tsname = new JTextField();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JTextField tsbirth = new JTextField();
JTextField tstime = new JTextField();
JLabel jLabel7 = new JLabel();
JTextField tscollege = new JTextField();
JLabel jLabel8 = new JLabel();
JTextField tsmajor = new JTextField();
JLabel jLabel9 = new JLabel();
JTextField tsplace = new JTextField();
JButton btn1 = new JButton();
JButton btn2 = new JButton();
JButton btn3 = new JButton();
JComboBox jcb_sex = new JComboBox();
JComboBox jcb_ethnix = new JComboBox();
public void btn1_actionPerformed(ActionEvent actionEvent) {
//定义空的学生信息属性
String sno = "";
String sname = "";
String ssex = "";
String sbirth = "";
String syear = "";
String shome = "";
String smajor = "";
String scollege = "";
if (!tsno.getText().equals("")) {
sno = tsno.getText();
} else {
//弹出对话框信息
JOptionPane.showMessageDialog(this, "学号不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tsname.getText().equals("")) {
sname = tsname.getText();
} else {
JOptionPane.showMessageDialog(this, "姓名不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tsbirth.getText().equals("")) {
sbirth = tsbirth.getText();
} else {
JOptionPane.showMessageDialog(this, "出生日期不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tstime.getText().equals("")) {
syear = tstime.getText();
} else {
JOptionPane.showMessageDialog(this, "入学时间不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tscollege.getText().equals("")) {
scollege = tscollege.getText();
} else {
JOptionPane.showMessageDialog(this, "学院不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tsmajor.getText().equals("")) {
smajor = tsmajor.getText();
} else {
JOptionPane.showMessageDialog(this, "专业不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
if (!tsplace.getText().equals("")) {
shome = tsplace.getText();
} else {
JOptionPane.showMessageDialog(this, "籍贯不能为空!", "提示信息",
JOptionPane.ERROR_MESSAGE);
return;
}
ssex=jcb_sex.getSelectedItem().toString(); //获得列表中选定的性别信息
String sethnix=jcb_ethnix.getSelectedItem().toString(); //获得民族列表总选到的信息
Student s=new Student(); //定义学生对象s进行封装学生信息
s.setSno(sno);
s.setSname(sname);
s.setSsex(ssex);
s.setSethnix(sethnix);
s.setShome(shome);
s.setSyear(syear);
s.setSmajor(smajor);
s.setScollege(scollege);
s.setSbirth(sbirth);
StudentManager sm=new StudentManager(); //定义学生管理对象sm
int i=sm.addStudent(s); //调用添加学生信息方法
if (i > 0) {
JOptionPane.showMessageDialog(this, "添加成功!", "提示信息",
JOptionPane.INFORMATION_MESSAGE);
tsno.setText("");
tsname.setText("");
tsplace.setText("");
tstime.setText("");
tsmajor.setText("");
tscollege.setText("");
tsbirth.setText("");
} else {
JOptionPane.showMessageDialog(this, "添加失败!", "提示信息",
JOptionPane.ERROR_MESSAGE);
}
}
//退出按钮关闭当前页面
public void btn3_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
//清空按钮清空各文本框中的内容
public void btn2_actionPerformed(ActionEvent e) {
tsno.setText("");
tsname.setText("");
tsplace.setText("");
tstime.setText("");
tsmajor.setText("");
tscollege.setText("");
tsbirth.setText("");
}
}
//监听
class Add_studentPanel_btn2_actionAdapter implements ActionListener {
private Add_studentPanel adaptee; //编码时双击添加按钮自动生成代码
Add_studentPanel_btn2_actionAdapter(Add_studentPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn2_actionPerformed(e);
}
}
class Add_studentPanel_btn3_actionAdapter implements ActionListener {
private Add_studentPanel adaptee;
Add_studentPanel_btn3_actionAdapter(Add_studentPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn3_actionPerformed(e);
}
}
class Add_studentPanel_btn1_actionAdapter implements ActionListener {
private Add_studentPanel adaptee;
Add_studentPanel_btn1_actionAdapter(Add_studentPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.btn1_actionPerformed(actionEvent);
}
}
类6:Delete_CoursePanel
package cvit.com.view;
import cvit.com.manager.CourseManager;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
//删除科目
public class Delete_coursePanel extends JPanel {
public Delete_coursePanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(new Color(168, 233, 216));
tcno.setBounds(new Rectangle(78, 76, 130, 20));
jLabel1.setText("课程编号");
jLabel1.setBounds(new Rectangle(8, 81, 66, 15));
btn_delete.setBounds(new Rectangle(228, 72, 71, 23));
btn_delete.setText("删除");
btn_delete.addActionListener(new
Delete_coursePanel_btn_delete_actionAdapter(this));
btn_exit.setBounds(new Rectangle(320, 72, 69, 23));
btn_exit.setText("退出");
btn_exit.addActionListener(new
Delete_coursePanel_btn_exit_actionAdapter(this));
this.add(tcno);
this.add(jLabel1);
this.add(btn_delete);
this.add(btn_exit);
this.setVisible(true); //可见性
this.setSize(600, 600); //窗体大小
}
JTextField tcno = new JTextField();
JLabel jLabel1 = new JLabel();
JButton btn_delete = new JButton();
JButton btn_exit = new JButton();
public void btn_delete_actionPerformed(ActionEvent e) {
String cno=tcno.getText(); //获得课程编码
CourseManager cm = new CourseManager();
int ok = JOptionPane.showConfirmDialog(this,
"是否删除" + tcno.getText() + "课程?", "提示信息", JOptionPane.OK_CANCEL_OPTION);
if (ok == JOptionPane.OK_OPTION) {
int i=cm.deleteCourse(cno); //调用删除课程信息方法
if (i > 0) {
JOptionPane.showMessageDialog(this, "删除成功!", "提示信息",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "你要删除的课程不存在!",
"提示信息", JOptionPane.ERROR_MESSAGE);
tcno.setText("");
}
tcno.setText("");
}
}
public void btn_exit_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
class Delete_coursePanel_btn_delete_actionAdapter implements ActionListener {
private Delete_coursePanel adaptee;
Delete_coursePanel_btn_delete_actionAdapter(Delete_coursePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_delete_actionPerformed(e);
}
}
}
class Delete_coursePanel_btn_exit_actionAdapter implements ActionListener {
private Delete_coursePanel adaptee;
Delete_coursePanel_btn_exit_actionAdapter(Delete_coursePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_exit_actionPerformed(e);
}
}
类7:Delete_studentPanel
package cvit.com.view;
import cvit.com.manager.StudentManager;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
//删除学生信息
public class Delete_studentPanel extends JPanel {
public Delete_studentPanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(new Color(168, 233, 216));
tsno.setBounds(new Rectangle(78, 76, 130, 20));
jLabel1.setText("学号");
jLabel1.setBounds(new Rectangle(32, 81, 42, 15));
btn_delete.setBounds(new Rectangle(235, 76, 81, 23));
btn_delete.setText("删除");
btn_delete.addActionListener(new Delete_studentPanel_btn_delete_actionAdapter(this));
btn_exit.setBounds(new Rectangle(233, 111, 81, 23));
btn_exit.setText("退出");
btn_exit.addActionListener(new
Delete_studentPanel_btn_exit_actionAdapter(this));
this.add(tsno);
this.add(jLabel1);
this.add(btn_delete);
this.add(btn_exit);
this.setVisible(true); //可见性
this.setSize(600, 600); //窗体大小
}
JTextField tsno = new JTextField();
JLabel jLabel1 = new JLabel();
JButton btn_delete = new JButton();
JButton btn_exit = new JButton();
public void btn_delete_actionPerformed(ActionEvent e) {
String sno=tsno.getText(); //获得学号文本框中的学号
StudentManager sm=new StudentManager(); //定义学生管理对象sm
int ok = JOptionPane.showConfirmDialog(this, "是否删除" + tsno.getText() + "同学? ", "提示信息",
JOptionPane.OK_CANCEL_OPTION);
if (ok == JOptionPane.OK_OPTION) {
int i=sm.deleteUser(sno); //调用删除学生方法
if (i > 0) {
JOptionPane.showMessageDialog(this, "删除成功!", "提示信息",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(this, "你要删除的同学不存在!",
"提示信息", JOptionPane.ERROR_MESSAGE);
}
tsno.setText("");
}
}
//退出按钮关闭页面
public void btn_exit_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
}
class Delete_studentPanel_btn_exit_actionAdapter implements ActionListener {
private Delete_studentPanel adaptee;
Delete_studentPanel_btn_exit_actionAdapter(Delete_studentPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_exit_actionPerformed(e);
}
}
class Delete_studentPanel_btn_delete_actionAdapter implements ActionListener {
private Delete_studentPanel adaptee;
Delete_studentPanel_btn_delete_actionAdapter(Delete_studentPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_delete_actionPerformed(e);
}
}
类8:Select_coursecnamePanel
package cvit.com.view;
import javax.swing.JPanel;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import cvit.com.manager.CourseManager;
import cvit.com.model.Course;
import javax.swing.JComboBox;
import java.util.Vector;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
//根据课程名称查询
public class Select_coursecnamePanel extends JPanel {
public Select_coursecnamePanel() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
this.setBackground(new Color(168, 233, 216));
jLabel1.setToolTipText("");
jLabel1.setText("授课教师");
jLabel1.setBounds(new Rectangle(18, 86, 53, 15));
jLabel2.setText("课程类别");
jLabel2.setBounds(new Rectangle(198, 87, 62, 15));
tctime.setEnabled(false);
tctime.setBounds(new Rectangle(265, 123, 77, 20));
tcno.setEnabled(false);
tcno.setBounds(new Rectangle(266, 40, 77, 20));
tcteacher.setEnabled(false);
tcteacher.setBounds(new Rectangle(91, 85, 93, 20));
jLabel3.setText("课程名称");
jLabel3.setBounds(new Rectangle(20, 45, 60, 15));
jLabel4.setText("课程编码");
jLabel4.setBounds(new Rectangle(193, 42, 65, 15));
jLabel5.setText("上课时间");
jLabel5.setBounds(new Rectangle(199, 124, 57, 15));
tctype.setEnabled(false);
tctype.setBounds(new Rectangle(265, 85, 77, 20));
tcplace.setEnabled(false);
tcplace.setBounds(new Rectangle(93, 123, 90, 20));
jLabel6.setText("上课地点");
jLabel6.setBounds(new Rectangle(19, 124, 67, 15));
btn_exit.setBounds(new Rectangle(22, 172, 81, 23));
btn_exit.setText("退出");
btn_exit.addActionListener(new
Select_coursePanel_btn_exit_actionAdapter(this));
jcb_cname.setBounds(new Rectangle(89, 41, 97, 23));
jcb_cname.addItemListener(new
Select_coursecnamePanel_jcb_cname_itemAdapter(this));
this.add(jLabel2);
this.add(tctime);
this.add(tcteacher);
this.add(jLabel5);
this.add(tctype);
this.add(tcplace);
this.add(jLabel6);
this.add(tcno);
this.add(jLabel4);
this.add(jLabel3);
this.add(jLabel1);
this.add(jcb_cname);
this.add(btn_exit);
Vector v1=cm.selectCourse(); //调用查询所有课程名称方法
for (int i = 0; i < v1.size();i++) {
jcb_cname.addItem(v1.get(i).toString()); //将查询结果添加到下拉列表中
}
this.setVisible(true);
this.setSize(600, 600);
}
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField tctime = new JTextField();
JTextField tcno = new JTextField();
JTextField tcteacher = new JTextField();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JTextField tctype = new JTextField();
JTextField tcplace = new JTextField();
JLabel jLabel6 = new JLabel();
JButton btn_exit = new JButton();
JComboBox jcb_cname = new JComboBox();
CourseManager cm = new CourseManager();
public void btn_exit_actionPerformed(ActionEvent e) {
this.setVisible(false);
}
public void jcb_cname_itemStateChanged(ItemEvent e) {
//调用按课程名称查询课程信息
Course c = cm.findOneCourse(jcb_cname.getSelectedItem().toString());
tcno.setText(c.getCno());
tcteacher.setText(c.getCteacher());
tcplace.setText(c.getCplace());
tctype.setText(c.getCtype());
tcplace.setText(c.getCplace());
tctime.setText(c.getCtime());
}
}
class Select_coursecnamePanel_jcb_cname_itemAdapter implements ItemListener {
private Select_coursecnamePanel adaptee;
Select_coursecnamePanel_jcb_cname_itemAdapter(Select_coursecnamePanel adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jcb_cname_itemStateChanged(e);
}
}
class Select_coursePanel_btn_exit_actionAdapter implements ActionListener {
private Select_coursecnamePanel adaptee;
Select_coursePanel_btn_exit_actionAdapter(Select_coursecnamePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btn_exit_actionPerformed(e);
}
}
view包一共19个类。
本篇介绍了1至8类,由于博客字数限制,后半部分代码放到下篇。
下篇从第9个类开始,介绍9至19类:
下篇:学生选课与成绩管理系统2(剩余代码)
四、运行
连接好数据库之后,在view包下的StuviewFrame右键点击运行。通过IDEA的图形界面,进行增删改查等操作。
以增加学生信息为例:
1:增加学生信息
2:在IDEA中的数据库表中验证,确实添加成功。
3:回到mysql数据库中的student表中验证,也确实添加成功了。
经过多次测试,表明此程序运行成功!