《Java程序设计》
课 程 设 计
题目: 学生信息管理系统
系 部: 机电工程系 专 业: 计算机科学与技术 年 级: 13级 学 号: XXXXXXX 姓 名: XXX 任课教师: XXXX
二0一五年 六月
河北科技学院课程设计 目录 一、 需求分析………………………………………………………………………………3 二、 系统设计………………………………………………………………………………3 1、功能结构图……………………………………………………………3 2、功能流程及工作描述…………………………………………………4 2.1功能流程……………………………………………………4 2.2工作描述……………………………………………………4 三、 数据库设计……………………………………………………………………………4 1、学生表…………………………………………………………………4 2、课程表…………………………………………………………………4 3、成绩表…………………………………………………………………5 四、 详细设计………………………………………………………………………………5 1、sql核心语句…………………………………………………………5 2、封装数据库连接过程JdbcUtil…………………………………………7 3、封装学生类、课程类、成绩类、学生课程成绩类……………………9 4、封装对数据库三张表的操作……………………………………………16 5、实现界面化操作利用组件实现具体功能………………………………27 五、 程序调试运行与发布…………………………………………………………………4 2
河北科技学院课程设计 学生管理信息系统 一、 需求分析 一、管理学生基本信息,包括个人信息的调价、修改、删除,以及选课信息的添 二、课程管理:管理课程的基本信息,包括课程信息的添加、修改和删除; 三、成绩管理:管理学生选课的成绩信息,包括成绩的登记与修改; 四、信息查询:查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。 二、 系统设计 (一)功能结构图 3
学生管理 课程管理 成绩管理 信息查询 添加学生信息 修改学生信息 删除学生信息 添加选课信息 添加课程信息 修改课程信息 删除课程信息 登记成绩 修改成绩 登记信息查询 学生信息查询 课程信息查询 成绩信息查询 调用数据库操作方法 对学生表、课程表、成绩表的数据库基本操作的封装StuDao、CouDao、ScoDao 库操中作的表数据数据库:包含student表、course、表、score表 河北科技学院课程设计 (二)功能流程及工作描述 2.1 功能流程 进入主界面选择功模块能相对应的菜单,选择功能相对应的菜单项,进入功能窗口进行增加、删除、修改、查询等操作…… 2.2 工作描述 用户通过窗口模式调用StuDao、CouDao、ScoDao中的增加、删除、查找、修改等基本操作方法,进而完成对数据库中表的操作,实现所要完成的功能。 三、 数据库设计 数据库选用oracle,用户名为:scott;密码为:tiger。 数据库中包含三张表,分别是student表、course表以及score表。 利用sqlplus创建表。 一、学生表 student表中包含字段,snum、sname、sage、sex、smaj、sdept;分别代表学号、姓名、年龄、性别、专业以及所在系。 CREATE TABLE student ( ); snum varchar(10) primary key, sname varchar(10) not null, sage INT not null, sex char(2) check(sex='男' or sex='女') not null, smaj varchar(20) default('计算机科学与技术') not null, sdept varchar(20) default('机电工程系') not null 二、课程表 course表中包含字段,cnum、cname、credit、semester、period;分别代表课程号、课程名、学分、学期、学时。 4
河北科技学院课程设计 CREATE TABLE course ( ); cnum varchar(10) primary key, cname varchar(20) default('Java程序设计') not null, credit int default(4) not null, semester int default(1) not null, period int default(60) not null 三、成绩表 score表中包含字段,snum、cnum、grade;分别代表学号、选课号、课程成绩。 CREATE TABLE score ( ); snum varchar(10) references student(snum), cnum varchar(10) references course(cnum), grade int default(0) check(grade between 0 and 100), primary key(snum,cnum) 四、 详细设计 利用PreparedStatement防注入 一、 sql核心语句 ①学生基本信息管理 学生信息的添加: INSERT INTO student(snum,sname,sage,sex,smaj,sdept) values(?,?,?,?,?,?); 学号查询: SELECT snum,sname,sage,sex,smaj,sdept FROM student WHERE snum=?; 更新学生记录: 5
河北科技学院课程设计 UPDATE student SET student sname=?,sage=?,sex=?,smaj=?,sdept=? WHERE snum=?; 删除学生记录: DELETE student WHERE snum=?; 学生信息查询: SELECT s.snum,s.sname,s.sage,s.sex,s.smaj,s.sdept,c.cname,sc.grade FROM student s,score sc,course c WHERE s.snum=sc.scnum and s.snum=? and sc.num=?;——>(利用语句拼接完成查询) ②课程基本信息管理 课程信息的添加: INSERT INTO course(cnum,cname,credit,semester,period) VALUES(?,?,?,?,?); 课程编号查询: SELECT cnum,cname,credit,semester,period FROM course WHERE cnum=?; 课程信息的修改: UPDATE course SET cname=?,credit=?,semester=?,period=? WHERE cnum=?; 删除课程信息: DELETE course WHERE cnum=?; ③成绩信息管理 登记信息: INSERT INTO score(snum,cnum,grade) VALUES(?,?,?); 成绩信息修改: UPDATE score SET grade=? WHERE cnum=? and snum=?; 成绩登记查询
SELECT snum,cnum,grade 6 河北科技学院课程设计 FROM score WHERE snum=?; 二、 封装数据库连接过程JdbcUtil ① 新建配置文件database.properties className=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:1521:orcl user=scott pass=tiger ② JdbcUtil类封装 package hebeikejixueyuan.jidiangongcheng; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JdbcUtil {
private static Properties prop=new Properties(); static{ } public static Connection getConn(){ 7 try { prop.load(JdbcUtil.class.getResourceAsStream(\"/database.properties\")); } catch (IOException e) { } e.printStackTrace(); 河北科技学院课程设计 try { Class.forName(prop.getProperty(\"className\")); Connection conn=DriverManager.getConnection(prop.getProperty(\"url\"),prop.getProperty(\"user\"),prop.getProperty(\"pass\")); } 8
} return conn; } catch (Exception e) { } e.printStackTrace(); return null; public static void close(Connection conn,Statement stmt,ResultSet rs){ } if(rs!=null){try { rs.close(); } catch (SQLException e) { }} if(stmt!=null){try { stmt.close(); e.printStackTrace(); } catch (SQLException e) { }} if(conn!=null){try { conn.close(); e.printStackTrace(); } catch (SQLException e) { }} e.printStackTrace(); 河北科技学院课程设计 三、 封装学生类、课程类、成绩类、学生课程成绩类 ① 学生类 package hebeikejixueyuan.jidiangongcheng; public class Student {
private String snum; private String sname; private int sage; private String sex; private String smaj; private String sdept; public Student(){} public String getSnum() { } public void setSnum(String snum) { } public String getSname() { } public void setSname(String sname) { } public int getSage() { } public void setSage(int sage) { } 9 return snum; this.snum = snum; return sname; this.sname = sname; return sage; this.sage = sage; 河北科技学院课程设计 public String getSex() { } public void setSex(String sex) { } public String getSmaj() { } public void setSmaj(String smaj) { } public String getSdept() { } public void setSdept(String sdept) { } public Student(String snum, String sname, int sage, String sex, String sdept) { } @Override public String toString() { return \"Student [snum=\" + snum + \super(); this.snum = snum; this.sname = sname; this.sage = sage; this.sex = sex; this.sdept = sdept; this.sdept = sdept; return sdept; this.smaj = smaj; return smaj; this.sex = sex; return sex; sex=\" + sex + \10
河北科技学院课程设计 } } + \"]\"; ② 课程类 package hebeikejixueyuan.jidiangongcheng; public class Course { private String cnum; private String cname; private int credit; private int semester; private int period; public Course(){} public String getCnum() { } public void setCnum(String cnum) { } public String getCname() { } public void setCname(String cname) { } public int getCredit() { } public void setCredit(int credit) { this.credit = credit; 11
return cnum; this.cnum = cnum; return cname; this.cname = cname; return credit; 河北科技学院课程设计 } public int getSemester() { } public void setSemester(int semester) { } public int getPeriod() { } public void setPeriod(int period) { } public Course(String cnum, String cname, int credit, int semester, int period) { } @Override public String toString() { return \"Course [cnum=\" + cnum + \cname=\" + cname + \credit=\" + credit + \super(); this.cnum = cnum; this.cname = cname; this.credit = credit; this.semester = semester; this.period = period; this.period = period; return period; this.semester = semester; return semester; semester=\" + semester } } + \③ 成绩类 package hebeikejixueyuan.jidiangongcheng; 12
河北科技学院课程设计 public class Score {
private String snum; private String cnum; private int grade; public Score(){} public String getSnum() { } public void setSnum(String snum) { } public String getCnum() { } public void setCnum(String cnum) { } public int getGrade() { } public void setGrade(int grade) { } public Score(String snum, String cnum, int grade) { } 13 return snum; this.snum = snum; return cnum; this.cnum = cnum; return grade; this.grade = grade; super(); this.snum = snum; this.cnum = cnum; this.grade = grade; 河北科技学院课程设计 } @Override public String toString() { } return \"Score [snum=\" + snum + \④ 学生课程成绩类 package hebeikejixueyuan.jidiangongcheng; public class StudentGrade {
private String snum; private String sname; private int sage; private String sex; private String smaj; private String sdept; private String cname; private String grade; public StudentGrade(){} public String getSnum() { } public void setSnum(String snum) { } public String getSname() { } public void setSname(String sname) { this.sname = sname; 14 return snum; this.snum = snum; return sname; 河北科技学院课程设计
} public int getSage() { } public void setSage(int sage) { } public String getSex() { } public void setSex(String sex) { } public String getSmaj() { } public void setSmaj(String smaj) { } public String getSdept() { } public void setSdept(String sdept) { } public String getCname() { } public void setCname(String cname) { this.cname = cname; 15 return sage; this.sage = sage; return sex; this.sex = sex; return smaj; this.smaj = smaj; return sdept; this.sdept = sdept; return cname; 河北科技学院课程设计 } public String getGrade() { } public void setGrade(String grade) { } public StudentGrade(String snum, String sname, int sage, String sex, String smaj, this.grade = grade; return grade; String sdept, String cname, } @Override public String toString() { return \"StudentGrade [snum=\" + snum + \sname=\" + sname + \sage=\" + String grade) { super(); this.snum = snum; this.sname = sname; this.sage = sage; this.sex = sex; this.smaj = smaj; this.sdept = sdept; this.cname = cname; this.grade = grade; sage + \ } 四、 封装对数据库三张表的操作StuDao、CouDao、ScoDao ① 学生表操作 16
} + \河北科技学院课程设计 package hebeikejixueyuan.jidiangongcheng; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class StuDao { public int addStu(Student student) { Connection conn = null; PreparedStatement pstmt = null; int n = 0; try { conn = JdbcUtil.getConn(); String sql = \"INSERT INTO student(snum,sname,sage,sex,smaj,sdept) values(?,?,?,?,?,?)\";
} pstmt = conn.prepareStatement(sql); pstmt.setString(1, student.getSnum()); pstmt.setString(2, student.getSname()); pstmt.setInt(3, student.getSage()); pstmt.setString(4, student.getSex()); pstmt.setString(5, student.getSmaj()); pstmt.setString(6, student.getSdept()); n = pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { } return n; JdbcUtil.close(conn, pstmt, null); 17 河北科技学院课程设计 public Student findById(String snum) { Student stu = null; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = JdbcUtil.getConn(); String sql = \"SELECT snum,sname,sage,sex,smaj,sdept FROM student WHERE snum=?\"; 18
} pstmt = conn.prepareStatement(sql); pstmt.setString(1, snum); rs = pstmt.executeQuery(); while (rs.next()) { } stu = new Student(); stu.setSnum(snum); stu.setSname(rs.getString(\"sname\")); stu.setSage(rs.getInt(\"sage\")); stu.setSex(rs.getString(\"sex\")); stu.setSmaj(rs.getString(\"smaj\")); stu.setSdept(rs.getString(\"sdept\")); } catch (Exception e) { e.printStackTrace(); } finally { } return stu; JdbcUtil.close(conn, pstmt, rs); 河北科技学院课程设计 public int alterStu(Student stu) { int n = 0; Connection conn = null; PreparedStatement pstmt = null; try { conn = JdbcUtil.getConn(); String sql = \"UPDATE student student SET sname=?,sage=?,sex=?,smaj=?,sdept=? WHERE snum=?\";
} pstmt = conn.prepareStatement(sql); pstmt.setString(1, stu.getSname()); pstmt.setInt(2, stu.getSage()); pstmt.setString(3, stu.getSex()); pstmt.setString(4, stu.getSmaj()); pstmt.setString(5, stu.getSdept()); pstmt.setString(6, stu.getSnum()); n = pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { } return n; JdbcUtil.close(conn, pstmt, null); public int deleteStu(String snum) { int n = 0; Connection conn = null; PreparedStatement pstmt = null; try { conn = JdbcUtil.getConn(); 19 河北科技学院课程设计 } String sql = \"DELETE student WHERE snum=?\"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, snum); n = pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { } return n; JdbcUtil.close(conn, pstmt, null); public StudentGrade findStuGrade(String snum, String cnum) { StudentGrade stuGrade = null; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = JdbcUtil.getConn(); String sql = \"SELECT s.snum,s.sname,s.sage,s.sex,s.smaj,s.sdept,c.cname,score.grade FROM student s,score,course c WHERE s.snum=score.snum and s.snum=? and score.cnum=?\";
pstmt=conn.prepareStatement(sql); pstmt.setString(1, snum); pstmt.setString(2, cnum); rs=pstmt.executeQuery(); while(rs.next()){ stuGrade=new StudentGrade(); stuGrade.setSnum(rs.getString(1)); stuGrade.setSname(rs.getString(2)); 20 河北科技学院课程设计 } } } stuGrade.setSage(rs.getInt(3)); stuGrade.setSex(rs.getString(4)); stuGrade.setSmaj(rs.getString(5)); stuGrade.setSdept(rs.getString(6)); stuGrade.setCname(rs.getString(7)); stuGrade.setGrade(rs.getString(8)); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, rs); }return stuGrade; ② 课程表操作 package hebeikejixueyuan.jidiangongcheng; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class CouDao { public int addCou(Course cou){ int n=0; Connection conn=null; PreparedStatement pstmt=null; try { conn=JdbcUtil.getConn(); String sql=\"INSERT INTO course(cnum,cname,credit,semester,period) VALUES(?,?,?,?,?)\"; 21
河北科技学院课程设计 } pstmt=conn.prepareStatement(sql); pstmt.setString(1, cou.getCnum()); pstmt.setString(2, cou.getCname()); pstmt.setInt(3, cou.getCredit()); pstmt.setInt(4, cou.getSemester()); pstmt.setInt(5, cou.getPeriod()); n=pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, null); }return n; public Course findByCnum(String cnum){ Course cou=null; Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; try { conn=JdbcUtil.getConn(); String sql=\"SELECT cnum,cname,credit,semester,period FROM course WHERE cnum=?\";
pstmt=conn.prepareStatement(sql); pstmt.setString(1, cnum); rs=pstmt.executeQuery(); while(rs.next()){ cou=new Course(); cou.setCnum(rs.getString(\"cnum\")); cou.setCname(rs.getString(\"cname\")); cou.setCredit(rs.getInt(\"credit\")); 22 河北科技学院课程设计 } } cou.setSemester(rs.getInt(\"semester\")); cou.setPeriod(rs.getInt(\"period\")); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, rs); }return cou; public int alterCou(Course cou){ int n=0; Connection conn=null; PreparedStatement pstmt=null; try { conn=JdbcUtil.getConn(); String sql=\"UPDATE course SET cname=?,credit=?,semester=?,period=? WHERE cnum=?\";
} pstmt=conn.prepareStatement(sql); pstmt.setString(1, cou.getCname()); pstmt.setInt(2, cou.getCredit()); pstmt.setInt(3, cou.getSemester()); pstmt.setInt(4, cou.getPeriod()); pstmt.setString(5, cou.getCnum()); n=pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, null); }return n; 23 河北科技学院课程设计 } public int deleteCou(String cnum){ } int n=0; Connection conn=null; PreparedStatement pstmt=null; try { conn=JdbcUtil.getConn(); String sql=\"DELETE course WHERE cnum=?\"; pstmt=conn.prepareStatement(sql); pstmt.setString(1, cnum); n=pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, null); }return n; ③ 成绩表操作 package hebeikejixueyuan.jidiangongcheng; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; public class ScoDao {
public int addSc(Score sc){ int n=0; Connection conn=null; 24 河北科技学院课程设计
} PreparedStatement pstmt=null; try { conn=JdbcUtil.getConn(); String sql=\"INSERT INTO score(snum,cnum,grade) VALUES(?,?,?)\"; pstmt=conn.prepareStatement(sql); pstmt.setString(1, sc.getSnum()); pstmt.setString(2, sc.getCnum()); pstmt.setInt(3, sc.getGrade()); n=pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ JdbcUtil.close(conn, pstmt, null); }return n; public int alterSc(Score sc){ int n=0; Connection conn=null; PreparedStatement pstmt=null; try { conn=JdbcUtil.getConn(); String sql=\"UPDATE score SET grade=? WHERE cnum=? and snum=?\"; pstmt=conn.prepareStatement(sql); pstmt.setInt(1, sc.getGrade()); pstmt.setString(2, sc.getCnum()); pstmt.setString(3, sc.getSnum()); n=pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ 25 河北科技学院课程设计 } } JdbcUtil.close(conn, pstmt, null); }return n; public List 河北科技学院课程设计 ①学生管理界面 package hebeikejixueyuan.jidiangongcheng; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultCellEditor; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class StuWin extends JFrame implements ActionListener{ JTable table; Object a[][]; Object name[]={\"学号\姓名\年龄\性别\专业\所在系\JButton badd,balter,bdelete; JPanel pSouth; StuWin(String s){ setTitle(s); a=new Object[1][6]; DefaultTableModel model=new DefaultTableModel(a,name); table=new JTable(model); table.putClientProperty(\"terminateEditOnFocusLost\badd=new JButton(\"添加\"); 27 河北科技学院课程设计 balter=new JButton(\"修改\"); bdelete=new JButton(\"删除\"); badd.addActionListener(this); balter.addActionListener(this); bdelete.addActionListener(this); pSouth=new JPanel(); pSouth.add(badd); pSouth.add(balter); pSouth.add(bdelete); add(new JScrollPane(table),BorderLayout.CENTER); add(pSouth,BorderLayout.SOUTH); setBounds(100,100,560,160); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { StuDao sd=new StuDao(); if(e.getSource()==badd){ Student stu=new Student(); for (int i = 0; i < 6; i++) { } stu.setSnum(a[0][0].toString()); stu.setSname(a[0][1].toString()); stu.setSage(Integer.parseInt(a[0][2].toString())); stu.setSex(a[0][3].toString()); stu.setSmaj(a[0][4].toString()); stu.setSdept(a[0][5].toString()); int n=sd.addStu(stu); 28 a[0][i]=table.getValueAt(0, i); 河北科技学院课程设计 if(n==1){JOptionPane.showMessageDialog(this, \"更新成功\成功\ }else if(e.getSource()==balter){ Student stu=new Student(); for (int i = 0; i < 6; i++) { } stu.setSnum(a[0][0].toString()); stu.setSname(a[0][1].toString()); stu.setSage(Integer.parseInt(a[0][2].toString())); stu.setSex(a[0][3].toString()); stu.setSmaj(a[0][4].toString()); stu.setSdept(a[0][5].toString()); int n=sd.alterStu(stu); if(n==1){JOptionPane.showMessageDialog(this, \"修改成功\成功a[0][i]=table.getValueAt(0, i); \ }else if(e.getSource()==bdelete){ int n=sd.deleteStu(table.getValueAt(0, 0).toString()); if(n==1){JOptionPane.showMessageDialog(this, \"删除成功\成功\ } ②课程管理 package hebeikejixueyuan.jidiangongcheng; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; 29 } } 河北科技学院课程设计 import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class CouWin extends JFrame implements ActionListener{ JTable table; Object a[][]; Object name[]={\"课程号\课程名\学分\学期\学时\JButton badd,balter,bdelete; JPanel pSouth; CouWin(String s){ setTitle(s); a=new Object[1][5]; table=new JTable(a,name); table.putClientProperty(\"terminateEditOnFocusLost\badd=new JButton(\"添加\"); balter=new JButton(\"修改\"); bdelete=new JButton(\"删除\"); badd.addActionListener(this); balter.addActionListener(this); bdelete.addActionListener(this); pSouth=new JPanel(); pSouth.add(badd); pSouth.add(balter); pSouth.add(bdelete); add(new JScrollPane(table),BorderLayout.CENTER); 30 河北科技学院课程设计 add(pSouth,BorderLayout.SOUTH); setBounds(100,100,560,160); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { CouDao sd=new CouDao(); if(e.getSource()==badd){ Course cou=new Course(); for (int i = 0; i < 5; i++) { } cou.setCnum(a[0][0].toString()); cou.setCname(a[0][1].toString()); cou.setCredit(Integer.parseInt(a[0][2].toString())); cou.setSemester(Integer.parseInt(a[0][3].toString())); cou.setPeriod(Integer.parseInt(a[0][4].toString())); int n=sd.addCou(cou); if(n==1){JOptionPane.showMessageDialog(this, \"更新成功\成功a[0][i]=table.getValueAt(0, i); \ }else if(e.getSource()==balter){ Course cou=new Course(); for (int i = 0; i < 5; i++) { } cou.setCnum(a[0][0].toString()); cou.setCname(a[0][1].toString()); cou.setCredit(Integer.parseInt(a[0][2].toString())); cou.setSemester(Integer.parseInt(a[0][3].toString())); 31 a[0][i]=table.getValueAt(0, i); 河北科技学院课程设计 cou.setPeriod(Integer.parseInt(a[0][4].toString())); int n=sd.alterCou(cou); if(n==1){JOptionPane.showMessageDialog(this, \"修改成功\成功\ }else if(e.getSource()==bdelete){ int n=sd.deleteCou(table.getValueAt(0, 0).toString()); if(n==1){JOptionPane.showMessageDialog(this, \"删除成功\成功\ }} ③ 成绩管理 package hebeikejixueyuan.jidiangongcheng; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class ScWin extends JFrame implements ActionListener{ } } JTable table; Object a[][]; 32 河北科技学院课程设计 Object name[]={\"学号\课程号\成绩\JButton badd,balter; JPanel pSouth; ScWin(String s){ setTitle(s); a=new Object[1][3]; table=new JTable(a,name); table.putClientProperty(\"terminateEditOnFocusLost\badd=new JButton(\"登记\"); balter=new JButton(\"修改\"); badd.addActionListener(this); balter.addActionListener(this); pSouth=new JPanel(); pSouth.add(badd); pSouth.add(balter); add(new JScrollPane(table),BorderLayout.CENTER); add(pSouth,BorderLayout.SOUTH); setBounds(100,100,560,160); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { ScoDao scd=new ScoDao(); if(e.getSource()==badd){ Score sc=new Score(); for (int i = 0; i < 3; i++) { } sc.setSnum(a[0][0].toString()); 33 a[0][i]=table.getValueAt(0, i); 河北科技学院课程设计 sc.setCnum(a[0][1].toString()); sc.setGrade(Integer.parseInt(a[0][2].toString())); int n=scd.addSc(sc); if(n==1){JOptionPane.showMessageDialog(this, \"更新成功\成功\ }else if(e.getSource()==balter){ Score sc=new Score(); for (int i = 0; i < 3; i++) { } sc.setSnum(a[0][0].toString()); sc.setCnum(a[0][1].toString()); sc.setGrade(Integer.parseInt(a[0][2].toString())); int n=scd.alterSc(sc); if(n==1){JOptionPane.showMessageDialog(this, \"修改成功\成功a[0][i]=table.getValueAt(0, i); \ } ④ 学生成绩查询 package hebeikejixueyuan.jidiangongcheng; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; 34 } } 河北科技学院课程设计 import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; public class StuScWin extends JFrame implements ActionListener{ JTable table; Object a[][]; Object name[]={\"学号\姓名\年龄\性别\专业\所在系\课程名\成绩\JLabel label; JTextField text; JButton bfind; JPanel pSouth,pNorth; StuScWin(){ a=new Object[1][8]; label=new JLabel(\"学号:\"); text=new JTextField(10); pNorth=new JPanel(); pNorth.add(label); pNorth.add(text); table=new JTable(a,name); bfind=new JButton(\"查询\"); pSouth=new JPanel(); pSouth.add(bfind); add(pNorth,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); add(pSouth,BorderLayout.SOUTH); setBounds(100,100,560,160); setVisible(true); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 35 河北科技学院课程设计 } } @Override public void actionPerformed(ActionEvent e) { } public static void main(String[] args) { } new StuScWin(); // TODO Auto-generated method stub ⑤ 主界面 package hebeikejixueyuan.jidiangongcheng; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class MainWin extends JFrame implements ActionListener{ JMenuBar menubar; JMenu operation,find; JMenuItem operStu,operCou,operSc,findGrade; StuWin stw=null; CouWin cow=null; ScWin scw=null; StuScWin ssw=null; 36 河北科技学院课程设计 public MainWin(){ } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==operStu){ 37 menubar=new JMenuBar(); operation=new JMenu(\"操 作\"); find=new JMenu(\"查 询\"); findGrade=new JMenuItem(\"学生成绩查询\"); operStu=new JMenuItem(\"管理学生信息\"); operCou=new JMenuItem(\"管理课程信息\"); operSc=new JMenuItem(\"管理成绩信息\"); operStu.addActionListener(this); operCou.addActionListener(this); operSc.addActionListener(this); findGrade.addActionListener(this); stw=new StuWin(\"学生管理\"); cow=new CouWin(\"课程管理\"); scw=new ScWin(\"成绩管理\"); ssw=new StuScWin(\"查询\"); operation.add(operStu); operation.add(operCou); operation.add(operSc); find.add(findGrade); menubar.add(operation); menubar.add(find); setJMenuBar(menubar); setBounds(100,100,370,220); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 河北科技学院课程设计 } stw.setVisible(true); }else if(e.getSource()==operCou){ cow.setVisible(true); }else if(e.getSource()==operSc){ scw.setVisible(true); }else if(e.getSource()==findGrade){ } ssw.setVisible(true); public static void main(String[] args) { } new MainWin(); 一、 程序调试运行与发布 38 河北科技学院课程设计 39 河北科技学院课程设计 40 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务