当前位置:   article > 正文

基于Java+MySQL+Swing的学生管理系统_java swing+mysql学生学籍管理系统

java swing+mysql学生学籍管理系统

1.系统简介和开发背景

        该同学工作积极主动、高效,学习认真,待人诚恳,能够做到服从指挥、认真听取老同志的指导,不怕苦、不怕累,表现有较强的求知欲,积极观察、体验、思考,并能够灵活运用自己的知识解决工作中遇到的实际问题。   

本项目使用:jdk1.8、java、mysql、eclipse/idea

2.功能分析

学生管理模块:

(1)增删改查学生信息,当学生还有学习的学员时,不能删除学生信息;

(2)按学生查询选择课程信息,支持名称模糊查询

学员管理模块:

(1)增删改查学员信息;

(2)按学员名查询学员信息,支持学员名模糊查询和分页显示

3.功能模块图及说明

        管理员新增学生信息时填写对应的信息,如姓名、课程号等。后台代码将在页面创建的信息提交到控制层进行数据验证,如果信息填写符合规则且数据唯一,则该数据将存储到本地数据库中,否则添加失败。管理员进行登录时首先点击跳转到管理员登录界面按钮,输入相应的信息点击登录。登录界面流程图如图4-1所示,添加学生功能流程图如图4-2所示。

 

4-1 登录界面流程图

                                               

4-2 添加学生功能流程图

        管理员修改学生职位信息时可以从快速搜索区,输入学生名称进行查询。按要求填写信息后保存,第一条数据为新添加的数据;管理员修改部门信息时,依次填写好对应的信息,后台代码将信息提交到控制层进行数据验证,验证通过则修改成功,数据存储到本地数据库里,否则失败。职位修改功能流程图如图4-3所示,添加部门功能流程图如图4-4所示。

   4-3 学生信息修改流程图

4-4 添加学生功能流程图

学生信息管理系统的主要模块包括增加、删除、修改和查询等操作,以下是这些操作的简单描述:

增加模块:该模块允许管理员将新的学生信息添加到系统中。这通常涉及到填写一个包含各种字段(例如姓名、性别、出生日期、学号、班级等)的表单。系统将检查输入的数据是否有效,例如,学号是否唯一,然后将其添加到数据库中。

删除模块:在此模块中,管理员可以选择并删除系统中的学生信息。例如,当一个学生转学或退学时,管理员可能需要从系统中删除他们的记录。

修改模块:此模块允许管理员更新系统中已有的学生信息。例如,如果学生的家庭地址发生变化,管理员可以通过此模块更新学生的家庭地址信息。在修改数据时,管理员需要确保数据的完整性和准确性。

查询模块:此模块允许管理员和学生查询系统中的学生信息。管理员可以查看学生的全部信息,而学生通常只能查看与他们自己相关的信息,例如他们的成绩、等。

4.部分代码展示

4.1数据库表设计

  1. CREATE TABLE `admin` (
  2. `Aid` int(11) NOT NULL,
  3. `Aname` varchar(30) NOT NULL,
  4. `Apwd` varchar(10) NOT NULL,
  5. PRIMARY KEY (`Aid`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8; PRIMARY KEY (`id`) USING BTREE
  7. ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = CREATE TABLE `course` (
  8. `Cnum` int(11) NOT NULL AUTO_INCREMENT,
  9. `Cno` int(11) NOT NULL,
  10. `Cname` varchar(20) NOT NULL,
  11. `Ctime` int(11) NOT NULL,
  12. `Ccredit` int(11) NOT NULL,
  13. PRIMARY KEY (`Cnum`,`Cno`),
  14. KEY `Cname` (`Cname`),
  15. KEY `Cno` (`Cno`)
  16. CREATE TABLE `score` (
  17. `Sno` int(11) NOT NULL,
  18. `Sname` varchar(20) NOT NULL,
  19. `Cno` int(11) NOT NULL,
  20. `Cname` varchar(20) DEFAULT NULL,
  21. `Sscore` decimal(10,0) DEFAULT '0',
  22. `Rescore` decimal(10,0) DEFAULT '0',
  23. PRIMARY KEY (`Sno`,`Cno`),
  24. KEY `Cname` (`Cname`),
  25. KEY `Cno` (`Cno`),
  26. KEY `Sname` (`Sname`)
  27. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  28. -- ----------------------------
  29. -- Table structure for user_train_re //学生,用户联系表
  30. -- ----------------------------
  31. CREATE TABLE `student` (
  32. `Sno` int(11) NOT NULL,
  33. `Sname` varchar(30) NOT NULL,
  34. `Sgender` char(2) NOT NULL,
  35. `Sage` int(11) NOT NULL,
  36. `Sbirthday` datetime DEFAULT '1999-01-01 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  37. `Sclass` varchar(10) NOT NULL,
  38. `Smajor` varchar(20) NOT NULL,
  39. `Sdept` varchar(20) NOT NULL,
  40. `Spwd` varchar(10) NOT NULL DEFAULT '123',
  41. PRIMARY KEY (`Sno`),
  42. KEY `Sname` (`Sname`)
  43. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.2后台管理界面设计

登录

  1. package com.system.view;
  2. import java.awt.EventQueue;
  3. import java.awt.Font;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.SQLException;
  7. import javax.swing.JButton;
  8. import javax.swing.JComboBox;
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JOptionPane;
  12. import javax.swing.JPanel;
  13. import javax.swing.JPasswordField;
  14. import javax.swing.JTextField;
  15. import javax.swing.SwingConstants;
  16. import javax.swing.border.EmptyBorder;
  17. import com.system.dao.StudentDao;
  18. import com.system.dao.UserDao;
  19. public class Login extends JFrame {
  20. private JPanel contentPane;
  21. private JTextField usernameField;
  22. private JPasswordField passwordField;
  23. private JComboBox comboBox;
  24. /**
  25. * Launch the application.
  26. */
  27. public static void main(String[] args) {
  28. EventQueue.invokeLater(new Runnable() {
  29. public void run() {
  30. try {
  31. Login frame = new Login();
  32. frame.setVisible(true);
  33. } catch (Exception e) {
  34. e.printStackTrace();
  35. }
  36. }
  37. });
  38. }
  39. /**
  40. * Create the frame.
  41. */
  42. public Login() {
  43. setTitle("学生信息管理系统");
  44. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  45. setBounds(100, 100, 689, 428);
  46. contentPane = new JPanel();
  47. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  48. setContentPane(contentPane);
  49. contentPane.setLayout(null);
  50. JPanel panel = new JPanel();
  51. panel.setBounds(0, 0, 673, 389);
  52. contentPane.add(panel);
  53. panel.setLayout(null);
  54. JLabel lblNewLabel = new JLabel("学生信息管理系统");
  55. lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
  56. lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
  57. lblNewLabel.setBounds(114, 36, 393, 55);
  58. panel.add(lblNewLabel);
  59. JLabel lblNewLabel_1 = new JLabel("用户名:");
  60. lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
  61. lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
  62. lblNewLabel_1.setBounds(106, 112, 145, 31);
  63. panel.add(lblNewLabel_1);
  64. JLabel lblNewLabel_1_1 = new JLabel("密码:");
  65. lblNewLabel_1_1.setHorizontalAlignment(SwingConstants.CENTER);
  66. lblNewLabel_1_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
  67. lblNewLabel_1_1.setBounds(106, 173, 145, 31);
  68. panel.add(lblNewLabel_1_1);
  69. JLabel lblNewLabel_1_2 = new JLabel("身份:");
  70. lblNewLabel_1_2.setHorizontalAlignment(SwingConstants.CENTER);
  71. lblNewLabel_1_2.setFont(new Font("微软雅黑", Font.BOLD, 16));
  72. lblNewLabel_1_2.setBounds(106, 242, 145, 31);
  73. panel.add(lblNewLabel_1_2);
  74. usernameField = new JTextField();
  75. usernameField.setBounds(227, 112, 249, 37);
  76. panel.add(usernameField);
  77. usernameField.setColumns(10);
  78. passwordField = new JPasswordField();
  79. passwordField.setBounds(227, 170, 249, 37);
  80. panel.add(passwordField);
  81. String[] a = new String[] { "管理员", "学生" };
  82. comboBox = new JComboBox(a);
  83. comboBox.setBounds(227, 237, 249, 42);
  84. panel.add(comboBox);
  85. JButton btnNewButton = new JButton("登录");
  86. btnNewButton.addActionListener(new ActionListener() {
  87. public void actionPerformed(ActionEvent arg0) {
  88. // 获取文本框数据
  89. String username = usernameField.getText();
  90. String password = passwordField.getText();
  91. String type = (String) comboBox.getSelectedItem();
  92. // 判断是否为空
  93. if (username.equals("") || password.equals("")) {
  94. JOptionPane.showMessageDialog(null, "用户名或密码不能为空!");
  95. } else {
  96. if ("管理员".equals(type)) {
  97. // 管理员登录
  98. try {
  99. UserDao log = new UserDao();
  100. boolean istrue = log.LoginCheck(username, password);
  101. if (istrue) {
  102. JOptionPane.showMessageDialog(null, "登录成功!");
  103. String a = "admin";
  104. setVisible(false);
  105. new Bg(a).setVisible(true);
  106. } else {
  107. JOptionPane.showMessageDialog(null, "用户名或密码错误!");
  108. }
  109. } catch (SQLException e1) {
  110. e1.printStackTrace();
  111. }
  112. } else {
  113. // 学生登录
  114. try {
  115. StudentDao log = new StudentDao();
  116. boolean istrue = log.LoginCheck(username, password);
  117. if (istrue) {
  118. JOptionPane.showMessageDialog(null, "登录成功!");
  119. String a = "学生"; // 不可修改,控制权限!
  120. setVisible(false);
  121. new Bg(a).setVisible(true);
  122. } else {
  123. JOptionPane.showMessageDialog(null, "用户名或密码错误!");
  124. }
  125. } catch (SQLException e1) {
  126. e1.printStackTrace();
  127. }
  128. }
  129. }
  130. }
  131. });
  132. btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
  133. btnNewButton.setBounds(132, 308, 108, 37);
  134. panel.add(btnNewButton);
  135. JButton btnNewButton_1 = new JButton("重置");
  136. btnNewButton_1.addActionListener(new ActionListener() {
  137. public void actionPerformed(ActionEvent arg0) {
  138. usernameField.setText("");
  139. passwordField.setText("");
  140. }
  141. });
  142. btnNewButton_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  143. btnNewButton_1.setBounds(399, 308, 108, 37);
  144. panel.add(btnNewButton_1);
  145. }
  146. }

查询操作

  1. package com.system.view;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.SystemColor;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.util.List;
  8. import java.util.Vector;
  9. import javax.swing.JButton;
  10. import javax.swing.JFrame;
  11. import javax.swing.JLabel;
  12. import javax.swing.JOptionPane;
  13. import javax.swing.JPanel;
  14. import javax.swing.JScrollPane;
  15. import javax.swing.JTable;
  16. import javax.swing.JTextField;
  17. import javax.swing.SwingConstants;
  18. import javax.swing.border.EmptyBorder;
  19. import com.system.dao.UserDao;
  20. import com.system.entity.Student;
  21. public class StudentSelect extends JFrame {
  22. private JPanel contentPane;
  23. private JTextField keyField;
  24. private JTable table;
  25. private JScrollPane scrollPane;
  26. /**
  27. * Launch the application.
  28. */
  29. // public static void main(String[] args) {
  30. // EventQueue.invokeLater(new Runnable() {
  31. // public void run() {
  32. // try {
  33. // StudentSelect frame = new StudentSelect();
  34. // frame.setVisible(true);
  35. // } catch (Exception e) {
  36. // e.printStackTrace();
  37. // }
  38. // }
  39. // });
  40. // }
  41. /**
  42. * Create the frame.
  43. */
  44. public StudentSelect(String flag) {
  45. setTitle("学生信息管理系统");
  46. setBounds(100, 100, 845, 558);
  47. contentPane = new JPanel();
  48. contentPane.setBackground(Color.WHITE);
  49. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  50. setContentPane(contentPane);
  51. contentPane.setLayout(null);
  52. JPanel panel = new JPanel();
  53. panel.setBackground(SystemColor.activeCaption);
  54. panel.setBounds(0, 0, 848, 51);
  55. contentPane.add(panel);
  56. panel.setLayout(null);
  57. JLabel lblNewLabel = new JLabel("学生基本信息");
  58. lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 16));
  59. lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
  60. lblNewLabel.setBounds(325, 10, 222, 31);
  61. panel.add(lblNewLabel);
  62. JPanel panel_1 = new JPanel();
  63. panel_1.setBackground(Color.WHITE);
  64. panel_1.setBounds(0, 49, 829, 51);
  65. contentPane.add(panel_1);
  66. panel_1.setLayout(null);
  67. JLabel lblNewLabel_1 = new JLabel("学号:");
  68. lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  69. lblNewLabel_1.setBounds(225, 10, 54, 31);
  70. panel_1.add(lblNewLabel_1);
  71. // 表头
  72. final Vector vector = new Vector();
  73. vector.add("学号");
  74. vector.add("姓名");
  75. vector.add("性别");
  76. vector.add("年龄");
  77. vector.add("班级");
  78. vector.add("专业");
  79. vector.add("系别");
  80. // 表里面的数据
  81. Vector tData = new Vector();
  82. keyField = new JTextField();
  83. keyField.setBounds(273, 10, 190, 31);
  84. panel_1.add(keyField);
  85. keyField.setColumns(10);
  86. JButton btnNewButton = new JButton("查询");
  87. btnNewButton.addActionListener(new ActionListener() {
  88. public void actionPerformed(ActionEvent arg0) {
  89. // 根据学号查询学生
  90. String key = keyField.getText();
  91. if (key.equals("")) {
  92. JOptionPane.showMessageDialog(null, "学号不能为空!");
  93. } else {
  94. try {
  95. UserDao user = new UserDao();
  96. List<Student> list = user.Select(key, null);
  97. tData.clear();
  98. for (int i = 0; i < list.size(); i++) {
  99. Vector v = new Vector();
  100. v.add(list.get(i).getSno());
  101. v.add(list.get(i).getName());
  102. v.add(list.get(i).getGender());
  103. v.add(list.get(i).getAge());
  104. v.add(list.get(i).getClas());
  105. v.add(list.get(i).getMajor());
  106. v.add(list.get(i).getDept());
  107. tData.add(v);
  108. }
  109. table = new JTable(tData, vector);
  110. scrollPane.setViewportView(table);
  111. // table = new JTable(tData, vector);
  112. } catch (Exception e) {
  113. // TODO Auto-generated catch block
  114. e.printStackTrace();
  115. }
  116. }
  117. }
  118. });
  119. btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
  120. btnNewButton.setBounds(483, 10, 67, 31);
  121. panel_1.add(btnNewButton);
  122. scrollPane = new JScrollPane();
  123. scrollPane.setBounds(0, 98, 829, 421);
  124. contentPane.add(scrollPane);
  125. try {
  126. UserDao user = new UserDao();
  127. List<Student> list = user.res();
  128. tData.clear();
  129. for (int i = 0; i < list.size(); i++) {
  130. Vector v = new Vector();
  131. v.add(list.get(i).getSno());
  132. v.add(list.get(i).getName());
  133. v.add(list.get(i).getGender());
  134. v.add(list.get(i).getAge());
  135. v.add(list.get(i).getClas());
  136. v.add(list.get(i).getMajor());
  137. v.add(list.get(i).getDept());
  138. tData.add(v);
  139. }
  140. } catch (Exception e) {
  141. // TODO Auto-generated catch block
  142. e.printStackTrace();
  143. }
  144. table = new JTable(tData, vector);
  145. scrollPane.setViewportView(table);
  146. }
  147. }

添加操作

  1. package com.system.view;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.SQLException;
  7. import javax.swing.JButton;
  8. import javax.swing.JComboBox;
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JOptionPane;
  12. import javax.swing.JPanel;
  13. import javax.swing.JTextField;
  14. import javax.swing.SwingConstants;
  15. import javax.swing.border.EmptyBorder;
  16. import com.system.dao.UserDao;
  17. public class StudentAdd extends JFrame {
  18. private JPanel contentPane;
  19. private JTextField snoField;
  20. private JTextField snameField;
  21. private JTextField sageField;
  22. private JTextField sclassField;
  23. private JTextField smajorField;
  24. private JTextField sdeptField;
  25. private JComboBox comboBox;
  26. /**
  27. * Launch the application.
  28. */
  29. // public static void main(String[] args) {
  30. // EventQueue.invokeLater(new Runnable() {
  31. // public void run() {
  32. // try {
  33. // StudentAdd frame = new StudentAdd();
  34. // frame.setVisible(true);
  35. // } catch (Exception e) {
  36. // e.printStackTrace();
  37. // }
  38. // }
  39. // });
  40. // }
  41. /**
  42. * Create the frame.
  43. */
  44. public StudentAdd(String admin) {
  45. setBounds(100, 100, 723, 506);
  46. contentPane = new JPanel();
  47. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  48. setContentPane(contentPane);
  49. contentPane.setLayout(null);
  50. JPanel panel = new JPanel();
  51. panel.setBackground(Color.WHITE);
  52. panel.setBounds(0, 0, 707, 467);
  53. contentPane.add(panel);
  54. panel.setLayout(null);
  55. JLabel lblNewLabel = new JLabel("添加学生");
  56. lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
  57. lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 16));
  58. lblNewLabel.setBounds(237, 28, 172, 36);
  59. panel.add(lblNewLabel);
  60. JLabel lblNewLabel_1 = new JLabel("学号:");
  61. lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 15));
  62. lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
  63. lblNewLabel_1.setBounds(201, 81, 53, 30);
  64. panel.add(lblNewLabel_1);
  65. snoField = new JTextField();
  66. snoField.setBounds(267, 80, 194, 36);
  67. panel.add(snoField);
  68. snoField.setColumns(10);
  69. JLabel lblNewLabel_1_1 = new JLabel("姓名:");
  70. lblNewLabel_1_1.setHorizontalAlignment(SwingConstants.CENTER);
  71. lblNewLabel_1_1.setFont(new Font("微软雅黑", Font.BOLD, 15));
  72. lblNewLabel_1_1.setBounds(201, 129, 53, 30);
  73. panel.add(lblNewLabel_1_1);
  74. JLabel lblNewLabel_1_2 = new JLabel("年龄:");
  75. lblNewLabel_1_2.setHorizontalAlignment(SwingConstants.CENTER);
  76. lblNewLabel_1_2.setFont(new Font("微软雅黑", Font.BOLD, 15));
  77. lblNewLabel_1_2.setBounds(201, 178, 53, 30);
  78. panel.add(lblNewLabel_1_2);
  79. JLabel lblNewLabel_1_3 = new JLabel("班级:");
  80. lblNewLabel_1_3.setHorizontalAlignment(SwingConstants.CENTER);
  81. lblNewLabel_1_3.setFont(new Font("微软雅黑", Font.BOLD, 15));
  82. lblNewLabel_1_3.setBounds(201, 231, 53, 30);
  83. panel.add(lblNewLabel_1_3);
  84. JLabel lblNewLabel_1_4 = new JLabel("专业:");
  85. lblNewLabel_1_4.setHorizontalAlignment(SwingConstants.CENTER);
  86. lblNewLabel_1_4.setFont(new Font("微软雅黑", Font.BOLD, 15));
  87. lblNewLabel_1_4.setBounds(201, 277, 53, 30);
  88. panel.add(lblNewLabel_1_4);
  89. JLabel lblNewLabel_1_5 = new JLabel("系别:");
  90. lblNewLabel_1_5.setHorizontalAlignment(SwingConstants.CENTER);
  91. lblNewLabel_1_5.setFont(new Font("微软雅黑", Font.BOLD, 15));
  92. lblNewLabel_1_5.setBounds(201, 330, 53, 30);
  93. panel.add(lblNewLabel_1_5);
  94. JLabel lblNewLabel_1_6 = new JLabel("性别:");
  95. lblNewLabel_1_6.setHorizontalAlignment(SwingConstants.CENTER);
  96. lblNewLabel_1_6.setFont(new Font("微软雅黑", Font.BOLD, 15));
  97. lblNewLabel_1_6.setBounds(201, 381, 53, 30);
  98. panel.add(lblNewLabel_1_6);
  99. snameField = new JTextField();
  100. snameField.setColumns(10);
  101. snameField.setBounds(267, 126, 194, 36);
  102. panel.add(snameField);
  103. sageField = new JTextField();
  104. sageField.setColumns(10);
  105. sageField.setBounds(267, 177, 194, 36);
  106. panel.add(sageField);
  107. sclassField = new JTextField();
  108. sclassField.setColumns(10);
  109. sclassField.setBounds(267, 230, 194, 36);
  110. panel.add(sclassField);
  111. smajorField = new JTextField();
  112. smajorField.setColumns(10);
  113. smajorField.setBounds(267, 276, 194, 36);
  114. panel.add(smajorField);
  115. sdeptField = new JTextField();
  116. sdeptField.setColumns(10);
  117. sdeptField.setBounds(267, 329, 194, 36);
  118. panel.add(sdeptField);
  119. JButton btnNewButton = new JButton("添加");
  120. btnNewButton.addActionListener(new ActionListener() {
  121. public void actionPerformed(ActionEvent e) {
  122. String sno = snoField.getText();
  123. String sname = snameField.getText();
  124. String sage = sageField.getText();
  125. String sclass = sclassField.getText();
  126. String smajor = smajorField.getText();
  127. String sdept = sdeptField.getText();
  128. String sex = (String) comboBox.getSelectedItem();
  129. if (sno.equals("") || sname.equals("") || sage.equals("") || sclass.equals("") || smajor.equals("")
  130. || sdept.equals("") || sex.equals("")) {
  131. JOptionPane.showMessageDialog(null, "信息不完整,请填写完整!");
  132. } else {
  133. UserDao userDao = new UserDao();
  134. try {
  135. boolean istrue = userDao.insert(sno, sname, sex, sage, sclass, smajor, sdept);
  136. if (istrue) {
  137. JOptionPane.showMessageDialog(null, "学生信息录入成功!");
  138. } else{
  139. JOptionPane.showMessageDialog(null, "学生录入失败,此学号已存在!");
  140. }
  141. } catch (SQLException e1) {
  142. // TODO Auto-generated catch block
  143. e1.printStackTrace();
  144. }
  145. }
  146. }
  147. });
  148. btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
  149. btnNewButton.setBounds(201, 427, 93, 30);
  150. panel.add(btnNewButton);
  151. JButton btnNewButton_1 = new JButton("重置");
  152. btnNewButton_1.addActionListener(new ActionListener() {
  153. public void actionPerformed(ActionEvent e) {
  154. snoField.setText("");
  155. snameField.setText("");
  156. sageField.setText("");
  157. sclassField.setText("");
  158. smajorField.setText("");
  159. sdeptField.setText("");
  160. }
  161. });
  162. btnNewButton_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  163. btnNewButton_1.setBounds(390, 427, 93, 30);
  164. panel.add(btnNewButton_1);
  165. String[] a = new String[] { "男", "女" };
  166. comboBox = new JComboBox(a);
  167. comboBox.setBounds(267, 381, 194, 27);
  168. panel.add(comboBox);
  169. }
  170. }

修改操作

  1. package com.system.view;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.sql.SQLException;
  7. import javax.swing.JButton;
  8. import javax.swing.JComboBox;
  9. import javax.swing.JLabel;
  10. import javax.swing.JOptionPane;
  11. import javax.swing.JPanel;
  12. import javax.swing.JTextField;
  13. import javax.swing.SwingConstants;
  14. import com.system.dao.UserDao;
  15. import com.system.entity.Student;
  16. public class StudentUpdate extends Bg {
  17. private JPanel contentPane;
  18. private JTextField keyField;
  19. private JTextField snoField;
  20. private JTextField snameField;
  21. private JTextField sageField;
  22. private JTextField sclassField;
  23. private JTextField smajorField;
  24. private JTextField sdeptField;
  25. private JComboBox comboBox;
  26. /**
  27. * Launch the application.
  28. */
  29. // public static void main(String[] args) {
  30. // EventQueue.invokeLater(new Runnable() {
  31. // public void run() {
  32. // try {
  33. // StudentUpdate frame = new StudentUpdate();
  34. // frame.setVisible(true);
  35. // } catch (Exception e) {
  36. // e.printStackTrace();
  37. // }
  38. // }
  39. // });
  40. // }
  41. /**
  42. * Create the frame.
  43. */
  44. public StudentUpdate(String a) {
  45. // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46. // setBounds(100, 100, 450, 300);
  47. // contentPane = new JPanel();
  48. // contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  49. // contentPane.setLayout(new BorderLayout(0, 0));
  50. // setContentPane(contentPane);
  51. super(a);
  52. JPanel panel = new JPanel();
  53. panel.setBackground(Color.WHITE);
  54. panel.setBounds(166, 54, 751, 493);
  55. getContentPane().add(panel);
  56. panel.setLayout(null);
  57. JLabel lblNewLabel = new JLabel("修改学生信息");
  58. lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
  59. lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 16));
  60. lblNewLabel.setBounds(270, 32, 214, 32);
  61. panel.add(lblNewLabel);
  62. JLabel lblNewLabel_1 = new JLabel("输入学号:");
  63. lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  64. lblNewLabel_1.setBounds(140, 81, 81, 19);
  65. panel.add(lblNewLabel_1);
  66. keyField = new JTextField();
  67. keyField.setBounds(214, 81, 182, 21);
  68. panel.add(keyField);
  69. keyField.setColumns(10);
  70. JButton btnNewButton = new JButton("查询");
  71. btnNewButton.addActionListener(new ActionListener() {
  72. public void actionPerformed(ActionEvent e) {
  73. String key = keyField.getText();
  74. if (key.equals("")) {
  75. JOptionPane.showMessageDialog(null, "学号不能为空!");
  76. } else {
  77. UserDao user = new UserDao();
  78. Student stu = new Student();
  79. try {
  80. stu = user.select(key);
  81. } catch (SQLException e1) {
  82. // TODO Auto-generated catch block
  83. e1.printStackTrace();
  84. }
  85. if (stu != null) {
  86. snoField.setText(String.valueOf(stu.getSno()));
  87. snameField.setText(stu.getName());
  88. sageField.setText(String.valueOf(stu.getAge()));
  89. sclassField.setText(stu.getClas());
  90. smajorField.setText(stu.getMajor());
  91. sdeptField.setText(stu.getDept());
  92. comboBox.setSelectedItem(stu.getGender());
  93. } else {
  94. JOptionPane.showMessageDialog(null, "查无此生!");
  95. }
  96. }
  97. }
  98. });
  99. btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
  100. btnNewButton.setBounds(429, 77, 75, 26);
  101. panel.add(btnNewButton);
  102. JLabel lblNewLabel_2 = new JLabel("查询学生是否存在!");
  103. lblNewLabel_2.setHorizontalAlignment(SwingConstants.CENTER);
  104. lblNewLabel_2.setForeground(Color.RED);
  105. lblNewLabel_2.setFont(new Font("微软雅黑", Font.BOLD, 13));
  106. lblNewLabel_2.setBounds(224, 110, 172, 19);
  107. panel.add(lblNewLabel_2);
  108. JLabel lblNewLabel_3 = new JLabel("学生基本信息:");
  109. lblNewLabel_3.setFont(new Font("微软雅黑", Font.BOLD, 16));
  110. lblNewLabel_3.setBounds(140, 151, 182, 19);
  111. panel.add(lblNewLabel_3);
  112. JLabel lblNewLabel_4 = new JLabel("学号:");
  113. lblNewLabel_4.setFont(new Font("微软雅黑", Font.BOLD, 14));
  114. lblNewLabel_4.setBounds(140, 193, 53, 21);
  115. panel.add(lblNewLabel_4);
  116. snoField = new JTextField();
  117. snoField.setBounds(190, 188, 227, 32);
  118. panel.add(snoField);
  119. snoField.setColumns(10);
  120. JLabel lblNewLabel_4_1 = new JLabel("姓名:");
  121. lblNewLabel_4_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  122. lblNewLabel_4_1.setBounds(140, 239, 53, 21);
  123. panel.add(lblNewLabel_4_1);
  124. snameField = new JTextField();
  125. snameField.setColumns(10);
  126. snameField.setBounds(190, 235, 227, 32);
  127. panel.add(snameField);
  128. JLabel lblNewLabel_4_1_1 = new JLabel("年龄:");
  129. lblNewLabel_4_1_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  130. lblNewLabel_4_1_1.setBounds(140, 284, 53, 21);
  131. panel.add(lblNewLabel_4_1_1);
  132. sageField = new JTextField();
  133. sageField.setColumns(10);
  134. sageField.setBounds(190, 277, 227, 32);
  135. panel.add(sageField);
  136. sclassField = new JTextField();
  137. sclassField.setColumns(10);
  138. sclassField.setBounds(190, 319, 227, 32);
  139. panel.add(sclassField);
  140. JLabel lblNewLabel_4_1_1_1 = new JLabel("班级:");
  141. lblNewLabel_4_1_1_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  142. lblNewLabel_4_1_1_1.setBounds(140, 327, 53, 21);
  143. panel.add(lblNewLabel_4_1_1_1);
  144. JLabel lblNewLabel_4_1_1_1_1 = new JLabel("班级:");
  145. lblNewLabel_4_1_1_1_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  146. lblNewLabel_4_1_1_1_1.setBounds(140, 327, 53, 21);
  147. panel.add(lblNewLabel_4_1_1_1_1);
  148. JLabel lblNewLabel_4_1_1_1_2 = new JLabel("专业:");
  149. lblNewLabel_4_1_1_1_2.setFont(new Font("微软雅黑", Font.BOLD, 14));
  150. lblNewLabel_4_1_1_1_2.setBounds(140, 373, 53, 21);
  151. panel.add(lblNewLabel_4_1_1_1_2);
  152. smajorField = new JTextField();
  153. smajorField.setColumns(10);
  154. smajorField.setBounds(190, 369, 227, 32);
  155. panel.add(smajorField);
  156. JLabel lblNewLabel_4_1_1_1_2_1 = new JLabel("系别:");
  157. lblNewLabel_4_1_1_1_2_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  158. lblNewLabel_4_1_1_1_2_1.setBounds(140, 416, 53, 21);
  159. panel.add(lblNewLabel_4_1_1_1_2_1);
  160. sdeptField = new JTextField();
  161. sdeptField.setColumns(10);
  162. sdeptField.setBounds(190, 411, 227, 32);
  163. panel.add(sdeptField);
  164. JLabel lblNewLabel_4_1_1_1_2_1_1 = new JLabel("性别:");
  165. lblNewLabel_4_1_1_1_2_1_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  166. lblNewLabel_4_1_1_1_2_1_1.setBounds(140, 462, 53, 21);
  167. panel.add(lblNewLabel_4_1_1_1_2_1_1);
  168. String[] b = new String[] { "男", "女" };
  169. comboBox = new JComboBox(b);
  170. comboBox.setBounds(190, 453, 227, 30);
  171. panel.add(comboBox);
  172. JButton btnNewButton_1 = new JButton("保存");
  173. btnNewButton_1.addActionListener(new ActionListener() {
  174. public void actionPerformed(ActionEvent e) {
  175. String sno = snoField.getText();
  176. String sname = snameField.getText();
  177. String sage = sageField.getText();
  178. String sclass = sclassField.getText();
  179. String smajor = smajorField.getText();
  180. String sdept = sdeptField.getText();
  181. String sex = (String) comboBox.getSelectedItem();
  182. UserDao userDao = new UserDao();
  183. try {
  184. boolean flag = userDao.update(sno, sname, sex, sage, sclass, smajor, sdept);
  185. if (flag) {
  186. JOptionPane.showMessageDialog(null, "修改成功!");
  187. } else {
  188. JOptionPane.showMessageDialog(null, "修改失败!");
  189. }
  190. } catch (SQLException e1) {
  191. // TODO Auto-generated catch block
  192. e1.printStackTrace();
  193. }
  194. }
  195. });
  196. btnNewButton_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
  197. btnNewButton_1.setBounds(474, 453, 93, 30);
  198. panel.add(btnNewButton_1);
  199. }
  200. }

删除操作

  1. package com.system.view;
  2. import java.awt.Font;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.JButton;
  6. import javax.swing.JLabel;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JPanel;
  9. import javax.swing.JTextField;
  10. import javax.swing.SwingConstants;
  11. import com.system.dao.UserDao;
  12. public class StudentDelete extends Bg {
  13. private JPanel contentPane;
  14. private JTextField keyField;
  15. /**
  16. * Launch the application.
  17. */
  18. // public static void main(String[] args) {
  19. // EventQueue.invokeLater(new Runnable() {
  20. // public void run() {
  21. // try {
  22. // StudentDelete frame = new StudentDelete();
  23. // frame.setVisible(true);
  24. // } catch (Exception e) {
  25. // e.printStackTrace();
  26. // }
  27. // }
  28. // });
  29. // }
  30. /**
  31. * Create the frame.
  32. */
  33. public StudentDelete(String a) {
  34. // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  35. // setBounds(100, 100, 450, 300);
  36. // contentPane = new JPanel();
  37. // contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  38. // contentPane.setLayout(new BorderLayout(0, 0));
  39. // setContentPane(contentPane);
  40. super(a);
  41. JLabel lblNewLabel = new JLabel("删除学生信息");
  42. lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
  43. lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 18));
  44. lblNewLabel.setBounds(442, 113, 227, 37);
  45. getContentPane().add(lblNewLabel);
  46. JLabel lblNewLabel_1 = new JLabel("输入学号:");
  47. lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
  48. lblNewLabel_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
  49. lblNewLabel_1.setBounds(402, 197, 81, 27);
  50. getContentPane().add(lblNewLabel_1);
  51. keyField = new JTextField();
  52. keyField.setBounds(485, 193, 184, 37);
  53. getContentPane().add(keyField);
  54. keyField.setColumns(10);
  55. JButton btnNewButton = new JButton("删除");
  56. btnNewButton.addActionListener(new ActionListener() {
  57. public void actionPerformed(ActionEvent e) {
  58. String key = keyField.getText();
  59. if (key.equals("")) {
  60. JOptionPane.showMessageDialog(null, "学号不能为空!");
  61. } else {
  62. UserDao user = new UserDao();
  63. try {
  64. if (user.delete(key)) {
  65. JOptionPane.showMessageDialog(null, "删除学生成功!");
  66. } else {
  67. JOptionPane.showMessageDialog(null, "删除学生失败,请检查该学号是否正确!");
  68. }
  69. } catch (Exception e1) {
  70. }
  71. }
  72. }
  73. });
  74. btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
  75. btnNewButton.setBounds(696, 193, 102, 37);
  76. getContentPane().add(btnNewButton);
  77. }
  78. }

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

闽ICP备14008679号