当前位置:   article > 正文

Java+Swing+MySQL实现学生选课管理系统_基于java swing+mysql的学生选课管理系统

基于java swing+mysql的学生选课管理系统

目录

一、系统介绍

1.运行环境

2.技术说明

3.系统功能

4.数据库实体E-R图设计

5.数据库表的设计

二、系统实现 

1.用户登录

2.主界面 

 3.数据库连接

4.数据查询

5.查询课程信息

6.添加学生信息

7.修改学生信息

三、部分代码 

1.ChangePwd.java

2.Login.java

3.Main.java

5.备注


一、系统介绍

1.运行环境

开发工具:Eclipse/IDEA

JDK版本:jdk1.8

Mysql版本:5.7

2.技术说明

Java+Swing+Mysql

3.系统功能

主要功能包括 1.管理学生信息,其中包括添加,删除,修改等操作。2.管理课程信息,其中包括添加,删除,修改等操作。3.管理选课信息,其中包括添加,删除,修改等操作。4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作

4.数据库实体E-R图设计

学生管理实体E-R图

课程管理实体E-R图

选课管理实体E-R图

5.数据库表的设计

数据库名:user

管理员表(user)

列名

数据类型

长度

是否为空

uno

int

11

name

varchar

10

password

varchar

10

数据库名:stu

学生表(stu)

列名

数据类型

长度

是否为空

sno

Int

11

name

varchar

10

sex

varchar

10

age

int

10

sdept

varchar

10

数据库名:course

课程表(course)

列名

数据类型

长度

是否为空

cno

char

4

cname

varchar

10

credit

Int

10

数据库名:sc

选课表(sc)

列名

数据类型

长度

是否为空

sno

char

11

cno

char

4

score

Int

10

二、系统实现 

根据需求分析阶段得到的功能需求,可将系统功能大概分为六个模块:这几个模块用户登录、学生管理、课程管理、选课管理、查询管理、系统退出

系统数据流程图

1.用户登录

  1. public void actionPerformed(ActionEvent e) {
  2. if (e.getActionCommand().equals("登录")) {
  3. try {
  4. DBUtil.initst();
  5. String stuname=nameField.getText();
  6. String stupwd=passwordField.getText();
  7. //根据数据库表中的用户名查密码进行匹配
  8. DBUtil.rs=DBUtil.st.executeQuery("select password from user where name='"+stuname+"'");
  9. if (DBUtil.rs.next()) {
  10. if (DBUtil.rs.getString(1).equals(stupwd)) {
  11. //如果密码正确就显示主页面
  12. this.hide();
  13. new Main().show();
  14. } else {
  15. //如果密码错误弹出框
  16. JOptionPane.showMessageDialog(null, "密码错误,请联系管理员");}
  17. }else {
  18. //姓名不对弹出提示框
  19. JOptionPane.showMessageDialog(null, "用户不存在");
  20. }
  21. DBUtil.closeDB();
  22. } catch (SQLException ex) {
  23. ex.printStackTrace();
  24. }
  25. }else {System.exit(0)} }

2.主界面 

主界面主要是用于对选择相应的功能进行相应的功能,主界面主要包括学生管理、课程管理、选课管理、数据查询、系统退出五大功能。    主界面添加JMenuBar菜单条,和JMenu菜单,和JMenuItem菜单项。三个菜单包括:学生管理、课程管理、选课管理和数据查询。学生管理中包括:增加学生、修改学生、删除学生。课程管理中包括:增加课程、修改课程、删除课程。选课管理中包括:增加选课、修改选课、删除选课。数据查询主要包括学生查询、课程查询、选课查询。还有一个单独的系统退出。

重要代码:

  1. // 学生表
  2. JTable jTable = new JTable();
  3. jTable.setModel(userModel);
  4. JScrollPane jScrollPane = new JScrollPane();
  5. jScrollPane.setViewportView(jTable);
  6. add(jScrollPane, BorderLayout.CENTER);
  7. // 菜单栏
  8. JMenuBar menuBar = new JMenuBar();
  9. setJMenuBar(menuBar);
  10. // 学生信息菜单栏
  11. JMenu user = new JMenu(" 学生管理 ");
  12. menuBar.add(user);
  13. JMenuItem addstu = new JMenuItem("增加学生");
  14. JMenuItem updatestu = new JMenuItem("修改学生");
  15. JMenuItem deletestu = new JMenuItem("删除学生");
  16. user.add(addstu);
  17. user.add(updatestu);
  18. user.add(deletestu);
  19. // 系统退出
  20. JLabel exit = new JLabel(" 系统退出");
  21. exit.setForeground(Color.red);
  22. exit.setFont(new java.awt.Font("宋体", 1, 15));
  23. menuBar.add(exit);
  24. // 查询区
  25. JPanel jPaneln = new JPanel();
  26. JLabel nameJLabel = new JLabel("学号/课程号:");
  27. JTextField nameField = new JTextField(20);
  28. JButton selectbtn = new JButton("查询");
  29. jPaneln.add(nameJLabel);
  30. jPaneln.add(nameField);
  31. jPaneln.add(selectbtn);
  32. add(jPaneln, BorderLayout.NORTH);
  33. // 查询学号/课程号按钮
  34. selectbtn.addActionListener(new ActionListener() {
  35. @Override
  36. public void actionPerformed(ActionEvent e) {
  37. // TODO Auto-generated method stub
  38. String stu = nameField.getText();
  39. String sql = "select * from stu where sno='" + stu + "'";
  40. userModel.reload(sql);
  41. String sql1 = "select * from course where cno='" + stu + "'";
  42. coursemodel.reload(sql1);
  43. String sql2 = "SELECT sc.sno,stu.name,sc.cno,course.cname,credit,score FROM sc,stu,course where sc.sno=stu.sno and course.cno=sc.cno and sc.sno='"+ stu + "'";
  44. selectsmodel.reload(sql2);}});

 3.数据库连接

学生、课程以及成绩的增删改查都是建立在连接数据库的基础之上,在MySQL里建立用户管理员表、学生表、课程表、选课表等。建立JDBC数据源的连接。

连接数据库重要代码:

  1. public class DBUtil {
  2. static Connection con;
  3. public static Statement st;
  4. static PreparedStatement ps;
  5. public static ResultSet rs;
  6. static String url="jdbc:mysql://localhost:3306/studb?useUnicode=true&characterEncoding=UTF-8";
  7. static String name="root";
  8. static String pwd="123456";
  9. public static void initst() {
  10. try {
  11. Class.forName("com.mysql.jdbc.Driver");
  12. con=DriverManager.getConnection(url,name,pwd);
  13. st=con.createStatement();
  14. } catch (SQLException e) {
  15. e.printStackTrace();
  16. }catch (ClassNotFoundException e) {
  17. e.printStackTrace();
  18. }
  19. }
  20. public static void initps(String sql) {
  21. try {
  22. Class.forName("com.mysql.jdbc.Driver");
  23. con=DriverManager.getConnection(url,name,pwd);
  24. ps=con.prepareStatement(sql);
  25. rs= ps.executeQuery();
  26. } catch (SQLException e) {
  27. e.printStackTrace();
  28. }catch (ClassNotFoundException e) {
  29. e.printStackTrace();
  30. }
  31. }
  32. public static void closeDB() {
  33. try {
  34. if (rs!=null) {
  35. rs.close();
  36. }
  37. if (ps!=null) {
  38. ps.close();
  39. }
  40. if (st!=null) {
  41. st.close();
  42. }
  43. if (con!=null) {
  44. con.close();
  45. }
  46. } catch (Exception e) {
  47. // TODO: handle exception
  48. e.printStackTrace();

4.数据查询

5.查询课程信息

 

重要代码: 

  1. /*
  2. * 查询管理
  3. */
  4. // 查询所有学生信息
  5. querystu.addActionListener(new ActionListener() {
  6. @Override
  7. public void actionPerformed(ActionEvent e) {
  8. // TODO Auto-generated method stub
  9. // 刷新jTable并把jTable显示出来
  10. userModel.reload(null);
  11. jTable.setModel(userModel);
  12. }
  13. });
  14. // 查询所有课程信息
  15. querycourse.addActionListener(new ActionListener() {
  16. @Override
  17. public void actionPerformed(ActionEvent e) {
  18. // TODO Auto-generated method stub
  19. // 刷新jTable并把jTable显示出来
  20. coursemodel.reload(null);
  21. jTable.setModel(coursemodel);
  22. }
  23. });
  24. // 查询所有学生选课信息
  25. queryselect.addActionListener(new ActionListener() {
  26. @Override
  27. public void actionPerformed(ActionEvent e) {
  28. // TODO Auto-generated method stub
  29. // 刷新jTable并把jTable显示出来
  30. selectsmodel.reload(null);
  31. jTable.setModel(selectsmodel);
  32. }
  33. });

6.添加学生信息

添加学生信息主要代码: 

  1. public void actionPerformed(ActionEvent e) {
  2. if (e.getActionCommand().equals("确定")) {
  3. try {
  4. DBUtil.initst();
  5. String sno=snoField.getText();
  6. String stuname=nameField.getText();
  7. String sex=sexField.getText();
  8. String age=ageField.getText();
  9. String sdept=sdeptField.getText();
  10. int n=DBUtil.st.executeUpdate("insert into stu values('"+sno+"','"+stuname+"','"+sex+"','"+age+"','"+sdept+"')");
  11. if (n>0) {
  12. JOptionPane.showMessageDialog(null, "添加成功");
  13. } else {
  14. JOptionPane.showMessageDialog(null, "添加失败");
  15. }
  16. DBUtil.closeDB();
  17. } catch (SQLException ex) {
  18. ex.printStackTrace();
  19. }
  20. DBUtil.closeDB();
  21. }else {
  22. this.hide();
  23. UserModel.reload(null);
  24. }
  25. }

7.修改学生信息

这部分的主要功能是更改数据库中学生的基本信息。查询出学生表,点击表中的某一行进行选中,再点击学生信息菜单栏的修改学生信息就可以进行修改

修改学生信息:

三、部分代码 

1.ChangePwd.java

  1. package body;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.sql.SQLException;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JOptionPane;
  9. import javax.swing.JPasswordField;
  10. import javax.swing.JTextField;
  11. public class ChangePwd extends JFrame implements ActionListener {
  12. JTextField nameField;
  13. JPasswordField passwordField;
  14. public ChangePwd() {
  15. setTitle("修改密码");
  16. setLayout(null);
  17. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  18. setBounds(500,200,350,300);
  19. JLabel nameJLabel=new JLabel("账号");
  20. nameField=new JTextField();
  21. JLabel passJLabel=new JLabel("密码");
  22. passwordField=new JPasswordField();
  23. nameJLabel.setBounds(50,15,100,100);
  24. nameField.setBounds(100,50,200,30);
  25. passJLabel.setBounds(50,70,100,100);
  26. passwordField.setBounds(100,100,200,30);
  27. JButton loginButton=new JButton("确定");
  28. JButton cancelButton=new JButton("取消");
  29. loginButton.setBounds(100,150,80,30);
  30. cancelButton.setBounds(200,150,80,30);
  31. add(nameJLabel);
  32. add(nameField);
  33. add(passJLabel);
  34. add(passwordField);
  35. add(loginButton);
  36. add(cancelButton);
  37. loginButton.setActionCommand("登录");
  38. cancelButton.setActionCommand("取消");
  39. loginButton.addActionListener(this);
  40. cancelButton.addActionListener(this);
  41. setVisible(true);
  42. }
  43. @Override
  44. public void actionPerformed(ActionEvent e) {
  45. if (e.getActionCommand().equals("登录")) {
  46. try {
  47. DBUtil.initst();
  48. String stuname=nameField.getText();
  49. String stupwd=passwordField.getText();
  50. int n=DBUtil.st.executeUpdate("update user set password='"+stupwd+"' where name='"+stuname+"'");
  51. if (n>0) {
  52. JOptionPane.showMessageDialog(null, "修改成功");
  53. } else {
  54. JOptionPane.showMessageDialog(null, "修改失败");
  55. }
  56. DBUtil.closeDB();
  57. } catch (SQLException ex) {
  58. ex.printStackTrace();
  59. }
  60. }else {
  61. this.hide();
  62. new Login().show();
  63. }
  64. }
  65. public static void main(String[] args) {
  66. ChangePwd changePwd=new ChangePwd();
  67. }
  68. }

2.Login.java

  1. package body;
  2. import java.awt.Graphics;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.sql.SQLException;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JButton;
  8. import javax.swing.JFrame;
  9. import javax.swing.JLabel;
  10. import javax.swing.JOptionPane;
  11. import javax.swing.JPanel;
  12. import javax.swing.JPasswordField;
  13. import javax.swing.JTextField;
  14. public class Login extends JFrame implements ActionListener {
  15. JTextField nameField;
  16. JPasswordField passwordField;
  17. public Login() {
  18. JPanel panel = new ImagePanel();
  19. add(panel);
  20. panel.setLayout(null);
  21. setTitle("系统登录");
  22. setLayout(null);
  23. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  24. setBounds(500,200,350,300);
  25. //添加账号密码文本及文本框
  26. JLabel nameJLabel=new JLabel("账号");
  27. nameField=new JTextField();
  28. JLabel passJLabel=new JLabel("密码");
  29. passwordField=new JPasswordField();
  30. nameJLabel.setBounds(50,15,100,100);
  31. nameField.setBounds(100,50,200,30);
  32. passJLabel.setBounds(50,70,100,100);
  33. passwordField.setBounds(100,100,200,30);
  34. //登录取消按钮
  35. JButton loginButton=new JButton("登录");
  36. JButton cancelButton=new JButton("取消");
  37. loginButton.setBounds(50,150,80,30);
  38. cancelButton.setBounds(220,150,80,30);
  39. //添加到面版
  40. add(nameJLabel);
  41. add(nameField);
  42. add(passJLabel);
  43. add(passwordField);
  44. add(loginButton);
  45. add(cancelButton);
  46. //给登录取消按钮添加控件
  47. loginButton.setActionCommand("登录");
  48. cancelButton.setActionCommand("取消");
  49. loginButton.addActionListener(this);
  50. cancelButton.addActionListener(this);
  51. setVisible(true);
  52. }
  53. @Override
  54. public void actionPerformed(ActionEvent e) {
  55. if (e.getActionCommand().equals("登录")) {
  56. try {
  57. DBUtil.initst();
  58. String stuname=nameField.getText();
  59. String stupwd=passwordField.getText();
  60. //根据数据库表中的用户名查密码进行匹配
  61. DBUtil.rs=DBUtil.st.executeQuery("select password from user where name='"+stuname+"'");
  62. if (DBUtil.rs.next()) {
  63. if (DBUtil.rs.getString(1).equals(stupwd)) {
  64. //如果密码正确就显示主页面
  65. this.hide();
  66. new Main().show();
  67. } else {
  68. //如果密码错误弹出框
  69. JOptionPane.showMessageDialog(null, "密码错误,请联系管理员");
  70. }
  71. }else {
  72. //姓名不对弹出提示框
  73. JOptionPane.showMessageDialog(null, "用户不存在");
  74. }
  75. DBUtil.closeDB();
  76. } catch (SQLException ex) {
  77. ex.printStackTrace();
  78. }
  79. }else {
  80. System.exit(0);
  81. }
  82. }
  83. class ImagePanel extends JPanel {
  84. protected void paintComponent(Graphics g) {
  85. super.paintComponent(g);
  86. ImageIcon icon = new ImageIcon("icon/1.jpg");
  87. g.drawImage(icon.getImage(), 0, 0, null);
  88. }
  89. }
  90. public static void main(String[] args) {
  91. Login login=new Login();
  92. }
  93. }

3.Main.java

  1. package body;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.MouseEvent;
  8. import java.awt.event.MouseListener;
  9. import java.sql.SQLException;
  10. import java.util.Vector;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JMenu;
  15. import javax.swing.JMenuBar;
  16. import javax.swing.JMenuItem;
  17. import javax.swing.JOptionPane;
  18. import javax.swing.JPanel;
  19. import javax.swing.JScrollPane;
  20. import javax.swing.JTable;
  21. import javax.swing.JTextField;
  22. import course.AddCourse;
  23. import course.CourseModel;
  24. import course.UpdateCourse;
  25. import selects.AddSelect;
  26. import selects.SelectsModel;
  27. import selects.UpdateSelect;
  28. import stu.AddStu;
  29. import stu.UpdateStu;
  30. import stu.UserModel;
  31. public class Main extends JFrame {
  32. public static UserModel userModel;
  33. public static CourseModel coursemodel;
  34. public static SelectsModel selectsmodel;
  35. JTextField exit;
  36. public Main() {
  37. setTitle("学生选课管理系统");
  38. setBounds(300, 100, 1000, 800);
  39. String sql = "select * from stu";
  40. userModel = new UserModel();
  41. userModel.init(sql);
  42. String sql1 = "select * from course";
  43. coursemodel = new CourseModel();
  44. coursemodel.init(sql1);
  45. String sql2 = "SELECT sc.sno,stu.name,sc.cno,course.cname,credit,score FROM sc,stu,course where sc.sno=stu.sno and course.cno=sc.cno";
  46. selectsmodel = new SelectsModel();
  47. selectsmodel.init(sql2);
  48. // 学生表
  49. JTable jTable = new JTable();
  50. jTable.setModel(userModel);
  51. JScrollPane jScrollPane = new JScrollPane();
  52. jScrollPane.setViewportView(jTable);
  53. add(jScrollPane, BorderLayout.CENTER);
  54. // 菜单栏
  55. JMenuBar menuBar = new JMenuBar();
  56. setJMenuBar(menuBar);
  57. // 学生信息菜单栏
  58. JMenu user = new JMenu(" 学生管理 ");
  59. menuBar.add(user);
  60. JMenuItem addstu = new JMenuItem("增加学生");
  61. JMenuItem updatestu = new JMenuItem("修改学生");
  62. JMenuItem deletestu = new JMenuItem("删除学生");
  63. user.add(addstu);
  64. user.add(updatestu);
  65. user.add(deletestu);
  66. // 课程管理菜单栏
  67. JMenu course = new JMenu(" 课程管理 ");
  68. menuBar.add(course);
  69. JMenuItem addcourse = new JMenuItem("增加课程");
  70. JMenuItem updatecourse = new JMenuItem("修改课程");
  71. JMenuItem deletecourse = new JMenuItem("删除课程");
  72. course.add(addcourse);
  73. course.add(updatecourse);
  74. course.add(deletecourse);
  75. // 选课管理菜单栏
  76. JMenu select = new JMenu(" 选课管理 ");
  77. menuBar.add(select);
  78. JMenuItem addselect = new JMenuItem("添加选课");
  79. JMenuItem updateselect = new JMenuItem("修改选课");
  80. JMenuItem deleteselect = new JMenuItem("删除选课");
  81. select.add(addselect);
  82. select.add(updateselect);
  83. select.add(deleteselect);
  84. // 查询管理菜单栏
  85. JMenu query = new JMenu(" 查询管理 ");
  86. menuBar.add(query);
  87. JMenuItem querystu = new JMenuItem("查询所有学生");
  88. JMenuItem querycourse = new JMenuItem("查询所有课程");
  89. JMenuItem queryselect = new JMenuItem("查询所有选课");
  90. query.add(querystu);
  91. query.add(querycourse);
  92. query.add(queryselect);
  93. // 系统退出
  94. JLabel exit = new JLabel(" 系统退出");
  95. exit.setForeground(Color.red);
  96. exit.setFont(new java.awt.Font("宋体", 1, 15));
  97. menuBar.add(exit);
  98. // 查询区
  99. JPanel jPaneln = new JPanel();
  100. JLabel nameJLabel = new JLabel("学号/课程号:");
  101. JTextField nameField = new JTextField(20);
  102. JButton selectbtn = new JButton("查询");
  103. jPaneln.add(nameJLabel);
  104. jPaneln.add(nameField);
  105. jPaneln.add(selectbtn);
  106. add(jPaneln, BorderLayout.NORTH);
  107. // 查询学号/课程号按钮
  108. selectbtn.addActionListener(new ActionListener() {
  109. @Override
  110. public void actionPerformed(ActionEvent e) {
  111. // TODO Auto-generated method stub
  112. String stu = nameField.getText();
  113. String sql = "select * from stu where sno='" + stu + "'";
  114. userModel.reload(sql);
  115. String sql1 = "select * from course where cno='" + stu + "'";
  116. coursemodel.reload(sql1);
  117. String sql2 = "SELECT sc.sno,stu.name,sc.cno,course.cname,credit,score FROM sc,stu,course where sc.sno=stu.sno and course.cno=sc.cno and sc.sno='"
  118. + stu + "'";
  119. selectsmodel.reload(sql2);
  120. }
  121. });
  122. /*
  123. * 学生管理
  124. */
  125. // 增加学生信息
  126. addstu.addMouseListener(new MouseListener() {
  127. @Override
  128. public void mouseReleased(MouseEvent e) {
  129. // TODO Auto-generated method stub
  130. }
  131. @Override
  132. public void mousePressed(MouseEvent e) {
  133. // TODO Auto-generated method stub
  134. new AddStu().show();
  135. }
  136. @Override
  137. public void mouseExited(MouseEvent e) {
  138. // TODO Auto-generated method stub
  139. }
  140. @Override
  141. public void mouseEntered(MouseEvent e) {
  142. // TODO Auto-generated method stub
  143. }
  144. @Override
  145. public void mouseClicked(MouseEvent e) {
  146. // TODO Auto-generated method stub
  147. }
  148. });
  149. // 删除学生信息
  150. deletestu.addMouseListener(new MouseListener() {
  151. @Override
  152. public void mouseReleased(MouseEvent e) {
  153. // TODO Auto-generated method stub
  154. }
  155. @Override
  156. public void mousePressed(MouseEvent e) {
  157. // TODO Auto-generated method stub
  158. int index = jTable.getSelectedRow();
  159. if (index == -1) {
  160. JOptionPane.showMessageDialog(null, "未选中");
  161. } else {
  162. Object user = userModel.rowData.get(index);
  163. String sno = ((Vector) user).get(0).toString();
  164. try {
  165. DBUtil.initst();
  166. int n = DBUtil.st.executeUpdate("delete from stu where sno='" + sno + "'");
  167. if (n > 0) {
  168. JOptionPane.showMessageDialog(null, "删除成功");
  169. } else {
  170. JOptionPane.showMessageDialog(null, "删除失败");
  171. }
  172. UserModel.reload(null);
  173. DBUtil.closeDB();
  174. } catch (SQLException ex) {
  175. ex.printStackTrace();
  176. }
  177. }
  178. }
  179. @Override
  180. public void mouseExited(MouseEvent e) {
  181. // TODO Auto-generated method stub
  182. }
  183. @Override
  184. public void mouseEntered(MouseEvent e) {
  185. // TODO Auto-generated method stub
  186. }
  187. @Override
  188. public void mouseClicked(MouseEvent e) {
  189. // TODO Auto-generated method stub
  190. }
  191. });
  192. // 修改学生信息
  193. updatestu.addMouseListener(new MouseListener() {
  194. @Override
  195. public void mouseReleased(MouseEvent e) {
  196. // TODO Auto-generated method stub
  197. }
  198. @Override
  199. public void mousePressed(MouseEvent e) {
  200. // TODO Auto-generated method stub
  201. int index = jTable.getSelectedRow();
  202. if (index == -1) {
  203. JOptionPane.showMessageDialog(null, "未选中");
  204. } else {
  205. Object user = userModel.rowData.get(index);
  206. new UpdateStu(user).show();
  207. }
  208. }
  209. @Override
  210. public void mouseExited(MouseEvent e) {
  211. // TODO Auto-generated method stub
  212. }
  213. @Override
  214. public void mouseEntered(MouseEvent e) {
  215. // TODO Auto-generated method stub
  216. }
  217. @Override
  218. public void mouseClicked(MouseEvent e) {
  219. // TODO Auto-generated method stub
  220. }
  221. });
  222. /*
  223. * 课程管理
  224. */
  225. // 增加课程信息
  226. addcourse.addMouseListener(new MouseListener() {
  227. @Override
  228. public void mouseReleased(MouseEvent e) {
  229. // TODO Auto-generated method stub
  230. }
  231. @Override
  232. public void mousePressed(MouseEvent e) {
  233. // TODO Auto-generated method stub
  234. new AddCourse().show();
  235. }
  236. @Override
  237. public void mouseExited(MouseEvent e) {
  238. // TODO Auto-generated method stub
  239. }
  240. @Override
  241. public void mouseEntered(MouseEvent e) {
  242. // TODO Auto-generated method stub
  243. }
  244. @Override
  245. public void mouseClicked(MouseEvent e) {
  246. // TODO Auto-generated method stub
  247. }
  248. });
  249. // 删除课程信息
  250. deletecourse.addMouseListener(new MouseListener() {
  251. @Override
  252. public void mouseReleased(MouseEvent e) {
  253. // TODO Auto-generated method stub
  254. }
  255. @Override
  256. public void mousePressed(MouseEvent e) {
  257. // TODO Auto-generated method stub
  258. int index = jTable.getSelectedRow();
  259. if (index == -1) {
  260. JOptionPane.showMessageDialog(null, "未选中");
  261. } else {
  262. Object course = coursemodel.rowData1.get(index);
  263. String cno = ((Vector) course).get(0).toString();
  264. try {
  265. DBUtil.initst();
  266. int n = DBUtil.st.executeUpdate("delete from course where cno='" + cno + "'");
  267. if (n > 0) {
  268. JOptionPane.showMessageDialog(null, "删除成功");
  269. } else {
  270. JOptionPane.showMessageDialog(null, "删除失败");
  271. }
  272. CourseModel.reload(null);
  273. DBUtil.closeDB();
  274. } catch (SQLException ex) {
  275. ex.printStackTrace();
  276. }
  277. }
  278. }
  279. @Override
  280. public void mouseExited(MouseEvent e) {
  281. // TODO Auto-generated method stub
  282. }
  283. @Override
  284. public void mouseEntered(MouseEvent e) {
  285. // TODO Auto-generated method stub
  286. }
  287. @Override
  288. public void mouseClicked(MouseEvent e) {
  289. // TODO Auto-generated method stub
  290. }
  291. });
  292. // 修改课程信息
  293. updatecourse.addMouseListener(new MouseListener() {
  294. @Override
  295. public void mouseReleased(MouseEvent e) {
  296. // TODO Auto-generated method stub
  297. }
  298. @Override
  299. public void mousePressed(MouseEvent e) {
  300. // TODO Auto-generated method stub
  301. int index = jTable.getSelectedRow();
  302. if (index == -1) {
  303. JOptionPane.showMessageDialog(null, "未选中");
  304. } else {
  305. Object course = coursemodel.rowData1.get(index);
  306. new UpdateCourse(course).show();
  307. }
  308. }
  309. @Override
  310. public void mouseExited(MouseEvent e) {
  311. // TODO Auto-generated method stub
  312. }
  313. @Override
  314. public void mouseEntered(MouseEvent e) {
  315. // TODO Auto-generated method stub
  316. }
  317. @Override
  318. public void mouseClicked(MouseEvent e) {
  319. // TODO Auto-generated method stub
  320. }
  321. });
  322. /*
  323. * 学生选课管理
  324. */
  325. // 增加学生选课信息
  326. addselect.addMouseListener(new MouseListener() {
  327. @Override
  328. public void mouseReleased(MouseEvent e) {
  329. // TODO Auto-generated method stub
  330. }
  331. @Override
  332. public void mousePressed(MouseEvent e) {
  333. // TODO Auto-generated method stub
  334. new AddSelect().show();
  335. }
  336. @Override
  337. public void mouseExited(MouseEvent e) {
  338. // TODO Auto-generated method stub
  339. }
  340. @Override
  341. public void mouseEntered(MouseEvent e) {
  342. // TODO Auto-generated method stub
  343. }
  344. @Override
  345. public void mouseClicked(MouseEvent e) {
  346. // TODO Auto-generated method stub
  347. }
  348. });
  349. // 删除学生选课信息
  350. deleteselect.addMouseListener(new MouseListener() {
  351. @Override
  352. public void mouseReleased(MouseEvent e) {
  353. // TODO Auto-generated method stub
  354. }
  355. @Override
  356. public void mousePressed(MouseEvent e) {
  357. // TODO Auto-generated method stub
  358. int index = jTable.getSelectedRow();
  359. if (index == -1) {
  360. JOptionPane.showMessageDialog(null, "未选中");
  361. } else {
  362. Object select = selectsmodel.rowData2.get(index);
  363. String sno = ((Vector) select).get(0).toString();
  364. try {
  365. DBUtil.initst();
  366. int n = DBUtil.st.executeUpdate("delete from sc where sno='" + sno + "'");
  367. if (n > 0) {
  368. JOptionPane.showMessageDialog(null, "删除成功");
  369. } else {
  370. JOptionPane.showMessageDialog(null, "删除失败");
  371. }
  372. SelectsModel.reload(null);
  373. DBUtil.closeDB();
  374. } catch (SQLException ex) {
  375. ex.printStackTrace();
  376. }
  377. }
  378. }
  379. @Override
  380. public void mouseExited(MouseEvent e) {
  381. // TODO Auto-generated method stub
  382. }
  383. @Override
  384. public void mouseEntered(MouseEvent e) {
  385. // TODO Auto-generated method stub
  386. }
  387. @Override
  388. public void mouseClicked(MouseEvent e) {
  389. // TODO Auto-generated method stub
  390. }
  391. });
  392. // 修改学生选课信息
  393. updateselect.addMouseListener(new MouseListener() {
  394. @Override
  395. public void mouseReleased(MouseEvent e) {
  396. // TODO Auto-generated method stub
  397. }
  398. @Override
  399. public void mousePressed(MouseEvent e) {
  400. // TODO Auto-generated method stub
  401. int index = jTable.getSelectedRow();
  402. if (index == -1) {
  403. JOptionPane.showMessageDialog(null, "未选中");
  404. } else {
  405. Object select = selectsmodel.rowData2.get(index);
  406. new UpdateSelect(select).show();
  407. }
  408. }
  409. @Override
  410. public void mouseExited(MouseEvent e) {
  411. // TODO Auto-generated method stub
  412. }
  413. @Override
  414. public void mouseEntered(MouseEvent e) {
  415. // TODO Auto-generated method stub
  416. }
  417. @Override
  418. public void mouseClicked(MouseEvent e) {
  419. // TODO Auto-generated method stub
  420. }
  421. });
  422. /*
  423. * 查询管理
  424. */
  425. // 查询所有学生信息
  426. querystu.addActionListener(new ActionListener() {
  427. @Override
  428. public void actionPerformed(ActionEvent e) {
  429. // TODO Auto-generated method stub
  430. // 刷新jTable并把jTable显示出来
  431. userModel.reload(null);
  432. jTable.setModel(userModel);
  433. }
  434. });
  435. // 查询所有课程信息
  436. querycourse.addActionListener(new ActionListener() {
  437. @Override
  438. public void actionPerformed(ActionEvent e) {
  439. // TODO Auto-generated method stub
  440. // 刷新jTable并把jTable显示出来
  441. coursemodel.reload(null);
  442. // jTable.show();
  443. jTable.setModel(coursemodel);
  444. }
  445. });
  446. // 查询所有学生选课信息
  447. queryselect.addActionListener(new ActionListener() {
  448. @Override
  449. public void actionPerformed(ActionEvent e) {
  450. // TODO Auto-generated method stub
  451. // 刷新jTable并把jTable显示出来
  452. selectsmodel.reload(null);
  453. // jTable.show();
  454. jTable.setModel(selectsmodel);
  455. }
  456. });
  457. /*
  458. * 系统退出
  459. */
  460. exit.addMouseListener(new MouseListener() {
  461. public void mouseClicked(MouseEvent e) {
  462. System.exit(0);
  463. // 处理鼠标点击
  464. }
  465. public void mouseEntered(MouseEvent e) {
  466. // 处理鼠标移入
  467. }
  468. public void mouseExited(MouseEvent e) {
  469. // 处理鼠标离开
  470. }
  471. public void mousePressed(MouseEvent e) {
  472. // 处理鼠标按下
  473. }
  474. public void mouseReleased(MouseEvent e) {
  475. // 处理鼠标释放
  476. }
  477. });
  478. setVisible(true);
  479. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  480. }
  481. public static void main(String[] args) {
  482. Main main = new Main();
  483. }
  484. }

5.备注

如有侵权请联系我删除 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/38497
推荐阅读
相关标签
  

闽ICP备14008679号