Eclipse+Java+Swing实现学生选课管理系统

DbUtil.java


package com.sjsq.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class DbUtil {

private String dbUrl = “jdbc:mysql://localhost:3306/courseselection_management_swing?serverTimezone=Asia/Shanghai”;

private String dbUserName = “root”;

private String dbPassword = “admin”;

private String jdbcName = “com.mysql.cj.jdbc.Driver”;

/**

  • 获取数据库连接

  • @return

  • @throws Exception

*/

public Connection getCon() throws Exception {

Class.forName(jdbcName);

Connection con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);

return con;

}

public void closeCon(Connection con) throws Exception {

if (con != null) {

con.close();

}

}

public static void main(String[] args) {

DbUtil dbUtil = new DbUtil();

try {

dbUtil.getCon();

System.out.println(“数据库连接成功!”);

} catch (Exception e) {

e.printStackTrace();

}

}

}

StringUtil.java


package com.sjsq.util;

public class StringUtil {

public static boolean isEmpty(String str) {

if (“”.equals(str) || str == null) {

return true;

} else {

return false;

}

}

public static boolean isNotEmpty(String str) {

if (!“”.equals(str) && str != null) {

return true;

} else {

return false;

}

}

}

LogOnDao.java


package com.sjsq.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import com.sjsq.model.Admin;

import com.sjsq.model.Student;

public class LogOnDao {

/**

  • 登录验证

  • @param con

  • @param student

  • @return

  • @throws Exception

*/

public Student login(Connection con, Student student) throws Exception {

Student resultStu = null;

String sql = “select * from t_slogon where Sno=? and Spassword=?”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, student.getSno());

pstmt.setString(2, student.getSpassword());

ResultSet rs = pstmt.executeQuery();

if (rs.next()) {

resultStu = new Student();

resultStu.setSno(rs.getInt(“Sno”));

resultStu.setSpassword(rs.getString(“Spassword”));

}

return resultStu;

}

public Admin login(Connection con, Admin admin) throws Exception {

Admin resultAdmin = null;

String sql = “select * from t_adminlogon where adminId=? and password=?”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, admin.getAdminId());

pstmt.setString(2, admin.getPassword());

ResultSet rs = pstmt.executeQuery();

if (rs.next()) {

resultAdmin = new Admin();

resultAdmin.setAdminId(rs.getInt(“adminId”));

resultAdmin.setPassword(rs.getString(“password”));

}

return resultAdmin;

}

}

SelectionDao.java


package com.sjsq.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import com.sjsq.model.Selection;

public class SelectionDao {

public int SelectionAdd(Connection con, Selection selection) throws Exception {

String sql = “insert into t_selection value(null,?,?)”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, selection.getCourseId());

pstmt.setInt(2, selection.getSno());

return pstmt.executeUpdate();

}

public int NumSelectedAdd(Connection con, int courseId) throws Exception {

String sql = “update t_course set numSelected=numSelected+1 where courseId=?”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, courseId);

return pstmt.executeUpdate();

}

public ResultSet SelectedList(Connection con, int sno) throws Exception {

String sql = "select * from t_selection s,t_course c where s.Sno=? and s.courseId=c.courseId ";

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, sno);

return pstmt.executeQuery();

}

public int SelectionCancel(Connection con, Selection selection) throws Exception {

String sql = “delete from t_selection where courseId=? and Sno=?”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, selection.getCourseId());

pstmt.setInt(2, selection.getSno());

return pstmt.executeUpdate();

}

public int NumSelectedMinus(Connection con, int courseId) throws Exception {

String sql = “update t_course set numSelected=numSelected-1 where courseId=?”;

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setInt(1, courseId);

return pstmt.executeUpdate();

}

}

StudentDao.java


package com.sjsq.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.sjsq.model.Sinfo;

import com.sjsq.model.Student;

import com.sjsq.util.StringUtil;

public class StudentDao {

public ResultSet StudentList(Connection con, Sinfo sinfo) throws SQLException {

StringBuffer sb = new StringBuffer("select * from t_sinfo ");

if (sinfo.getSno() != -1) {

sb.append(" and Sno=" + sinfo.getSno());

}

if (StringUtil.isNotEmpty(sinfo.getSname())) {

sb.append(" and Sname like ‘%" + sinfo.getSname() + "%’");

}

PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst(“and”, “where”));

return pstmt.executeQuery();

}

public ResultSet PasswordList(Connection con, Student student) throws SQLException {

StringBuffer sb = new StringBuffer("select * from t_slogon ");

if (student.getSno() != -1) {

sb.append(“where Sno=” + student.getSno());

}

PreparedStatement pstmt = con.prepareStatement(sb.toString());

return pstmt.executeQuery();

}

public int PasswordModify(Connection con, Student student) throws Exception {

String sql = "update t_slogon set Spassword=? where Sno=? ";

PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setString(1, student.getSpassword());

pstmt.setInt(2, student.getSno());

return pstmt.executeUpdate();

}

}

LogOnFrm.java


package com.sjsq.view;

import java.awt.Font;

import java.sql.Connection;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JFormattedTextField;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JRadioButton;

import javax.swing.UIManager;

import com.sjsq.dao.LogOnDao;

import com.sjsq.model.Admin;

import com.sjsq.model.Student;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class LogOnFrm extends javax.swing.JFrame {

private ButtonGroup buttonGroup1;

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JButton jb_logOn;

private JButton jb_reset;

private JRadioButton jrb_admin;

private JRadioButton jrb_student;

private JPasswordField passwordTxt;

private JFormattedTextField userNameTxt;

DbUtil dbUtil = new DbUtil();

LogOnDao logOnDao = new LogOnDao();

public static Student currentStudent;

public LogOnFrm() {

Font font = new Font(“Dialog”, Font.PLAIN, 12);

java.util.Enumeration keys = UIManager.getDefaults().keys();

while (keys.hasMoreElements()) {

Object key = keys.nextElement();

Object value = UIManager.get(key);

if (value instanceof javax.swing.plaf.FontUIResource) {

UIManager.put(key, font);

}

}

initComponents();

this.setLocationRelativeTo(null);

this.jrb_student.setSelected(true);

}

private void initComponents() {

buttonGroup1 = new ButtonGroup();

jLabel1 = new JLabel();

jLabel2 = new JLabel();

userNameTxt = new JFormattedTextField();

jLabel3 = new JLabel();

jrb_student = new JRadioButton();

jrb_admin = new JRadioButton();

jb_logOn = new JButton();

jb_reset = new JButton();

passwordTxt = new JPasswordField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle(“用户登录页面”);

setResizable(false);

jLabel1.setFont(new java.awt.Font(“隶书”, 1, 24));

jLabel1.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/sys.png”)));

jLabel1.setText(“学生选课系统”);

jLabel2.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/userName.png”)));

jLabel2.setText(“账号”);

jLabel3.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/password.png”)));

jLabel3.setText(“密码”);

buttonGroup1.add(jrb_student);

jrb_student.setText(“学生”);

jrb_student.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/student.png”)));

buttonGroup1.add(jrb_admin);

jrb_admin.setText(“管理员”);

jrb_admin.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/admin.png”)));

jb_logOn.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/login.png”)));

jb_logOn.setText(“登录”);

jb_logOn.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_logOnActionPerformed(evt);

}

});

jb_reset.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/reset.png”)));

jb_reset.setText(“重置”);

jb_reset.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_resetActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup().addGap(106, 106, 106)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jLabel1)

.addGroup(layout.createSequentialGroup().addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

layout.createSequentialGroup().addComponent(jLabel3).addGap(33, 33, 33))

.addGroup(layout.createSequentialGroup().addComponent(jLabel2).addGap(33, 33, 33)))

.addGap(6, 6, 6)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(passwordTxt, 0, 0, Short.MAX_VALUE)

.addComponent(userNameTxt, javax.swing.GroupLayout.DEFAULT_SIZE, 135,

Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

layout.createSequentialGroup().addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jb_logOn).addComponent(jrb_student))

.addGroup(layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING,

false)

.addGroup(layout.createSequentialGroup()

.addGap(29, 29, 29).addComponent(jb_reset))

.addGroup(layout.createSequentialGroup()

.addPreferredGap(

javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jrb_admin,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)))))))

.addContainerGap(143, Short.MAX_VALUE)));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap(77, Short.MAX_VALUE).addComponent(jLabel1).addGap(39, 39, 39)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2).addComponent(userNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3).addComponent(passwordTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jrb_student).addComponent(jrb_admin))

.addGap(32, 32, 32)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jb_reset).addComponent(jb_logOn))

.addGap(58, 58, 58)));

pack();

}

private void jb_logOnActionPerformed(java.awt.event.ActionEvent evt) {

String userName = userNameTxt.getText();

String password = new String(passwordTxt.getPassword());

if (StringUtil.isEmpty(userName)) {

JOptionPane.showMessageDialog(this, “账号不能为空!”);

return;

}

if (StringUtil.isEmpty(password)) {

JOptionPane.showMessageDialog(this, “密码不能为空!”);

return;

}

Connection con = null;

if (this.jrb_student.isSelected()) {

Student student = new Student(Integer.parseInt(userName), password);

try {

con = dbUtil.getCon();

currentStudent = logOnDao.login(con, student);

if (currentStudent != null) {

this.dispose();

new MainFrm_student().setVisible(true);

} else {

JOptionPane.showMessageDialog(this, “用户名或密码错误!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “登录失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

} else if (this.jrb_admin.isSelected()) {

Admin admin = new Admin(Integer.parseInt(userName), password);

try {

con = dbUtil.getCon();

Admin currentAdmin = logOnDao.login(con, admin);

if (currentAdmin != null) {

this.dispose();

new MainFrm_admin().setVisible(true);

} else {

JOptionPane.showMessageDialog(this, “用户名或密码错误!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “登录失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {

this.resetValue();

}

private void resetValue() {

this.userNameTxt.setText(“”);

this.passwordTxt.setText(“”);

this.jrb_student.setSelected(true);

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new LogOnFrm().setVisible(true);

}

});

}

}

CourseAddInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.JLabel;

import javax.swing.JButton;

import com.sjsq.dao.CourseDao;

import com.sjsq.model.Course;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class CourseAddInterFrm extends javax.swing.JInternalFrame {

private JTextField capacityTxt;

private JTextField courseNameTxt;

private JTextField courseTeacherTxt;

private JTextField courseTimeTxt;

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JLabel jLabel4;

private JButton jb_add;

private JButton jb_reset;

DbUtil dbUtil = new DbUtil();

CourseDao coursedao = new CourseDao();

public CourseAddInterFrm() {

initComponents();

this.setLocation(200, 50);

}

private void initComponents() {

jLabel1 = new JLabel();

jLabel2 = new JLabel();

courseTimeTxt = new JTextField();

jLabel3 = new JLabel();

jLabel4 = new JLabel();

courseNameTxt = new JTextField();

courseTeacherTxt = new JTextField();

capacityTxt = new JTextField();

jb_add = new JButton();

jb_reset = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“添加课程”);

jLabel1.setText(“课程名称:”);

jLabel2.setText(“上课时间:”);

jLabel3.setText(“任课老师:”);

jLabel4.setText(“课程容量:”);

jb_add.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/add.png”)));

jb_add.setText(“添加”);

jb_add.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_addActionPerformed(evt);

}

});

jb_reset.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/reset.png”)));

jb_reset.setText(“重置”);

jb_reset.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_resetActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup().addGap(41, 41, 41)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 144,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(60, 60, 60).addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(

courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 144,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(layout.createSequentialGroup().addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseTeacherTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

144, javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(jb_add))

.addGap(60, 60, 60)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(capacityTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 144,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(jb_reset))))

.addContainerGap(44, Short.MAX_VALUE)));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addGap(46, 46, 46)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel1).addComponent(jLabel2)

.addComponent(courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel3).addComponent(jLabel4)

.addComponent(courseTeacherTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(capacityTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 55, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jb_reset).addComponent(jb_add))

.addGap(20, 20, 20)));

pack();

}

private void jb_addActionPerformed(java.awt.event.ActionEvent evt) {

String courseName = this.courseNameTxt.getText();

String courseTime = this.courseTimeTxt.getText();

String courseTeacher = this.courseTeacherTxt.getText();

String capacity = this.capacityTxt.getText();

if (StringUtil.isEmpty(courseName)) {

JOptionPane.showMessageDialog(this, “课程名称不能为空!”);

return;

}

if (StringUtil.isEmpty(courseTime)) {

JOptionPane.showMessageDialog(this, “上课时间不能为空!”);

return;

}

if (StringUtil.isEmpty(courseTeacher)) {

JOptionPane.showMessageDialog(this, “任课老师不能为空!”);

return;

}

if (StringUtil.isEmpty(capacity)) {

JOptionPane.showMessageDialog(this, “课程容量不能为空!”);

return;

}

Course course = new Course(courseName, courseTime, courseTeacher, Integer.parseInt(capacity));

Connection con = null;

try {

con = dbUtil.getCon();

int n = coursedao.courseAdd(con, course);

if (n == 1) {

JOptionPane.showMessageDialog(this, “课程添加成功!”);

this.resetValue();

} else {

JOptionPane.showMessageDialog(this, “课程添加失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “课程添加失败!”);

}

}

private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {

this.resetValue();

}

private void resetValue() {

this.courseNameTxt.setText(“”);

this.courseTeacherTxt.setText(“”);

this.courseTimeTxt.setText(“”);

this.capacityTxt.setText(“”);

}

}

CourseManageInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import javax.swing.JTable;

import com.sjsq.dao.CourseDao;

import com.sjsq.model.Course;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class CourseManageInterFrm extends javax.swing.JInternalFrame {

private JTextField capacityTxt;

private JTextField courseIdTxt;

private JTextField courseNameTxt;

private JTable courseTable;

private JTextField courseTeacherTxt;

private JTextField courseTimeTxt;

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JLabel jLabel4;

private JLabel jLabel5;

private JLabel jLabel6;

private JLabel jLabel7;

private JLabel jLabel8;

private JLabel jLabel9;

private JPanel jPanel1;

private JPanel jPanel2;

private JScrollPane jScrollPane1;

private JButton jb_delete;

private JButton jb_modify;

private JButton jb_search;

private JTextField numSelectedTxt;

private JTextField s_courseNameTxt;

private JTextField s_courseTeacherTxt;

private JTextField s_courseTimeTxt;

DbUtil dbUtil = new DbUtil();

CourseDao courseDao = new CourseDao();

private int NumSelected;

public CourseManageInterFrm() {

initComponents();

this.setLocation(5, 20);

this.fillTable(new Course());

}

private void resetValue() {

this.courseIdTxt.setText(“”);

this.courseNameTxt.setText(“”);

this.courseTeacherTxt.setText(“”);

this.courseTimeTxt.setText(“”);

this.capacityTxt.setText(“”);

this.numSelectedTxt.setText(“”);

}

private void fillTable(Course course) {

DefaultTableModel dtm = (DefaultTableModel) courseTable.getModel();

dtm.setRowCount(0);

Connection con = null;

try {

con = dbUtil.getCon();

ResultSet rs = courseDao.courseList(con, course);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“courseId”));

v.add(rs.getString(“courseName”));

v.add(rs.getString(“courseTime”));

v.add(rs.getString(“courseTeacher”));

v.add(rs.getString(“capacity”));

v.add(rs.getString(“numSelected”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jPanel1 = new JPanel();

jLabel1 = new JLabel();

s_courseNameTxt = new JTextField();

jLabel2 = new JLabel();

s_courseTimeTxt = new JTextField();

jLabel3 = new JLabel();

s_courseTeacherTxt = new JTextField();

jb_search = new JButton();

jScrollPane1 = new JScrollPane();

courseTable = new JTable();

jPanel2 = new JPanel();

courseIdTxt = new JTextField();

jLabel4 = new JLabel();

courseNameTxt = new JTextField();

jLabel5 = new JLabel();

courseTimeTxt = new JTextField();

jLabel6 = new JLabel();

courseTeacherTxt = new JTextField();

jLabel7 = new JLabel();

capacityTxt = new JTextField();

jLabel8 = new JLabel();

numSelectedTxt = new JTextField();

jLabel9 = new JLabel();

jb_modify = new JButton();

jb_delete = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“课程信息修改”);

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(“搜索条件”));

jLabel1.setText(“课程名称:”);

jLabel2.setText(“上课时间:”);

jLabel3.setText(“任课老师:”);

jb_search.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/search.png”)));

jb_search.setText(“查询”);

jb_search.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_searchActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup().addGap(24, 24, 24).addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(s_courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(26, 26, 26).addComponent(jLabel3).addGap(18, 18, 18)

.addComponent(s_courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 149,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(46, 46, 46).addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(s_courseTeacherTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 110,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 50, Short.MAX_VALUE)

.addComponent(jb_search).addGap(94, 94, 94)));

jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup().addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(s_courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1).addComponent(jb_search).addComponent(jLabel3)

.addComponent(s_courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2).addComponent(s_courseTeacherTxt,

javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

courseTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “课程编号”, “课程名称”, “上课时间”, “任课老师”, “课程容量”, “已选人数” }) {

boolean[] canEdit = new boolean[] { false, false, false, false, false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

courseTable.addMouseListener(new java.awt.event.MouseAdapter() {

public void mousePressed(java.awt.event.MouseEvent evt) {

courseTableMousePressed(evt);

}

});

jScrollPane1.setViewportView(courseTable);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(“表单操作”));

courseIdTxt.setEditable(false);

jLabel4.setText(“课程编号:”);

jLabel5.setText(“课程名称:”);

jLabel6.setText(“上课时间:”);

jLabel7.setText(“任课老师:”);

jLabel8.setText(“课程容量:”);

numSelectedTxt.setEditable(false);

jLabel9.setText(“已选人数:”);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup().addGap(34, 34, 34).addGroup(jPanel2Layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseTeacherTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(45, 45, 45).addComponent(jLabel8)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(capacityTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(46, 46, 46).addComponent(jLabel9)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(numSelectedTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseIdTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(45, 45, 45).addComponent(jLabel5)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(46, 46, 46).addComponent(jLabel6)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 158,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addContainerGap(149, Short.MAX_VALUE)));

jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup().addGap(19, 19, 19)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(courseIdTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel4)

.addComponent(courseTimeTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel6)

.addComponent(courseNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel5))

.addGap(32, 32, 32)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(courseTeacherTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel7)

.addComponent(numSelectedTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel9)

.addComponent(capacityTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel8))

.addContainerGap(34, Short.MAX_VALUE)));

jb_modify.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/modify.png”)));

jb_modify.setText(“修改”);

jb_modify.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_modifyActionPerformed(evt);

}

});

jb_delete.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/delete.png”)));

jb_delete.setText(“删除”);

jb_delete.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_deleteActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup().addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 920, Short.MAX_VALUE)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addGroup(layout.createSequentialGroup().addGap(330, 330, 330).addComponent(jb_modify)

.addGap(78, 78, 78).addComponent(jb_delete)))

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 165,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(27, 27, 27)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jb_delete).addComponent(jb_modify))

.addContainerGap(36, Short.MAX_VALUE)));

pack();

}

private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {

String courseId = this.courseIdTxt.getText();

if (StringUtil.isEmpty(courseId)) {

JOptionPane.showMessageDialog(this, “请选择要修改的记录!”);

return;

}

String courseName = this.courseNameTxt.getText();

String courseTime = this.courseTimeTxt.getText();

String courseTeacher = this.courseTeacherTxt.getText();

String capacity = this.capacityTxt.getText();

if (StringUtil.isEmpty(courseName)) {

JOptionPane.showMessageDialog(this, “课程名称不能为空!”);

return;

}

if (StringUtil.isEmpty(courseTime)) {

JOptionPane.showMessageDialog(this, “上课时间不能为空!”);

return;

}

if (StringUtil.isEmpty(courseTeacher)) {

JOptionPane.showMessageDialog(this, “任课老师不能为空!”);

return;

}

if (StringUtil.isEmpty(capacity)) {

JOptionPane.showMessageDialog(this, “课程容量不能为空!”);

return;

}

if (Integer.parseInt(capacity) < NumSelected) {

JOptionPane.showMessageDialog(this, “课程容量不能小于已选课人数!”);

return;

}

Course course = new Course(Integer.parseInt(courseId), courseName, courseTime, courseTeacher,

Integer.parseInt(capacity));

Connection con = null;

try {

con = dbUtil.getCon();

int modifyNum = courseDao.courseModify(con, course);

if (modifyNum == 1) {

JOptionPane.showMessageDialog(this, “修改成功!”);

this.resetValue();

this.fillTable(new Course());

} else {

JOptionPane.showMessageDialog(this, “修改失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “修改失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void courseTableMousePressed(java.awt.event.MouseEvent evt) {

// 获取选中的行

int row = courseTable.getSelectedRow();

this.courseIdTxt.setText((String) courseTable.getValueAt(row, 0));

this.courseNameTxt.setText((String) courseTable.getValueAt(row, 1));

this.courseTimeTxt.setText((String) courseTable.getValueAt(row, 2));

this.courseTeacherTxt.setText((String) courseTable.getValueAt(row, 3));

this.capacityTxt.setText((String) courseTable.getValueAt(row, 4));

this.numSelectedTxt.setText((String) courseTable.getValueAt(row, 5));

NumSelected = Integer.parseInt((String) courseTable.getValueAt(row, 5));

}

private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {

String s_courseName = this.s_courseNameTxt.getText();

String s_courseTime = this.s_courseTimeTxt.getText();

String s_courseTeacher = this.s_courseTeacherTxt.getText();

Course course = new Course(s_courseName, s_courseTime, s_courseTeacher);

this.fillTable(course);

}

private void jb_deleteActionPerformed(java.awt.event.ActionEvent evt) {

String courseId = this.courseIdTxt.getText();

if (StringUtil.isEmpty(courseId)) {

JOptionPane.showMessageDialog(this, “请选择要删除的记录!”);

return;

}

if (NumSelected > 0) {

JOptionPane.showMessageDialog(this, “本课程已有人选,不能删除!”);

return;

}

int n = JOptionPane.showConfirmDialog(this, “确定要删除这条记录吗?”);

if (n == 0) {

Connection con = null;

try {

con = dbUtil.getCon();

int deleteNum = courseDao.courseDelete(con, courseId);

if (deleteNum == 1) {

JOptionPane.showMessageDialog(this, “删除成功!”);

this.resetValue();

this.fillTable(new Course());

} else {

JOptionPane.showMessageDialog(this, “删除失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “删除失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

CourseViewInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.CourseDao;

import com.sjsq.model.Course;

import com.sjsq.util.DbUtil;

public class CourseViewInterFrm extends javax.swing.JInternalFrame {

private JTable courseTable;

private JScrollPane jScrollPane1;

DbUtil dbUtil = new DbUtil();

CourseDao courseDao = new CourseDao();

public CourseViewInterFrm() {

initComponents();

this.setLocation(100, 50);

this.fillTable(new Course());

}

private void fillTable(Course course) {

DefaultTableModel dtm = (DefaultTableModel) courseTable.getModel();

dtm.setRowCount(0);

Connection con = null;

try {

con = dbUtil.getCon();

ResultSet rs = courseDao.courseList(con, course);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“courseId”));

v.add(rs.getString(“courseName”));

v.add(rs.getString(“courseTime”));

v.add(rs.getString(“courseTeacher”));

v.add(rs.getString(“capacity”));

v.add(rs.getString(“numSelected”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new JScrollPane();

courseTable = new JTable();

setClosable(true);

setIconifiable(true);

setTitle(“查看选课情况”);

courseTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “课程编号”, “课程名称”, “上课时间”, “任课老师”, “课程容量”, “已选人数” }) {

boolean[] canEdit = new boolean[] { false, false, false, false, false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

jScrollPane1.setViewportView(courseTable);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 801, Short.MAX_VALUE)

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 259, Short.MAX_VALUE)

.addContainerGap()));

pack();

}

}

PasswordModifyInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import com.sjsq.dao.StudentDao;

import com.sjsq.model.Student;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class PasswordModifyInterFrm extends javax.swing.JInternalFrame {

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JButton jb_modify;

private JButton jb_reset;

private JPasswordField newPasswordTxt;

private JPasswordField oldPasswordTxt;

private JPasswordField passwordConfirmTxt;

DbUtil dbUtil = new DbUtil();

StudentDao studentDao = new StudentDao();

public PasswordModifyInterFrm() {

initComponents();

this.setLocation(200, 50);

}

private void initComponents() {

jLabel1 = new JLabel();

jLabel2 = new JLabel();

jLabel3 = new JLabel();

jb_modify = new JButton();

jb_reset = new JButton();

oldPasswordTxt = new JPasswordField();

newPasswordTxt = new JPasswordField();

passwordConfirmTxt = new JPasswordField();

setClosable(true);

setIconifiable(true);

setTitle(“修改密码”);

jLabel1.setText(“原密码:”);

jLabel2.setText(“新密码:”);

jLabel3.setText(“再输入一次新密码:”);

jb_modify.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/modify.png”)));

jb_modify.setText(“修改”);

jb_modify.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_modifyActionPerformed(evt);

}

});

jb_reset.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/reset.png”))); // NOI18N

jb_reset.setText(“重置”);

jb_reset.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_resetActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup().addGap(88, 88, 88)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jLabel3)

.addComponent(jLabel2).addComponent(jLabel1).addComponent(jb_modify))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(newPasswordTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 152,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(passwordConfirmTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 152,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(oldPasswordTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 152,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jb_reset))

.addContainerGap(105, Short.MAX_VALUE)));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup().addGap(28, 28, 28)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1)

.addComponent(oldPasswordTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(28, 28, 28)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2)

.addComponent(newPasswordTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3)

.addComponent(passwordConfirmTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_modify)

.addComponent(jb_reset))

.addGap(25, 25, 25)));

pack();

}

private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {

String oldPassword = new String(this.oldPasswordTxt.getPassword());

String newPassword = new String(this.newPasswordTxt.getPassword());

String passwordConfirm = new String(this.passwordConfirmTxt.getPassword());

if (StringUtil.isEmpty(oldPassword)) {

JOptionPane.showMessageDialog(this, “原密码不能为空!”);

return;

}

if (StringUtil.isEmpty(newPassword)) {

JOptionPane.showMessageDialog(this, “新密码不能为空!”);

return;

}

if (StringUtil.isEmpty(passwordConfirm)) {

JOptionPane.showMessageDialog(this, “请再输入一遍新密码!”);

return;

}

String rightOldPassword = LogOnFrm.currentStudent.getSpassword();

if (!oldPassword.equals(rightOldPassword)) {

JOptionPane.showMessageDialog(this, “旧密码错误,请重新输入!”);

return;

}

if (!newPassword.equals(passwordConfirm)) {

JOptionPane.showMessageDialog(this, “新密码不一致,请重新输入!”);

return;

}

Connection con = null;

int currentSno = LogOnFrm.currentStudent.getSno();

Student student = new Student(currentSno, newPassword);

try {

con = dbUtil.getCon();

int modifyNum = studentDao.PasswordModify(con, student);

if (modifyNum == 1) {

JOptionPane.showMessageDialog(this, “修改成功!”);

this.resetValue();

} else {

JOptionPane.showMessageDialog(this, “修改失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “修改失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void resetValue() {

this.oldPasswordTxt.setText(“”);

this.newPasswordTxt.setText(“”);

this.passwordConfirmTxt.setText(“”);

}

private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {

this.oldPasswordTxt.setText(“”);

this.newPasswordTxt.setText(“”);

this.passwordConfirmTxt.setText(“”);

}

}

SelectCourseInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.CourseDao;

import com.sjsq.dao.SelectionDao;

import com.sjsq.model.Course;

import com.sjsq.model.Selection;

import com.sjsq.util.DbUtil;

public class SelectCourseInterFrm extends javax.swing.JInternalFrame {

private JTable courseTable;

private JScrollPane jScrollPane1;

private JButton jb_confirm;

private JButton jb_underFull;

DbUtil dbUtil = new DbUtil();

CourseDao courseDao = new CourseDao();

SelectionDao selectionDao = new SelectionDao();

private int capacity;

private int numSelected;

private int courseId = -1;

public SelectCourseInterFrm() {

initComponents();

this.setLocation(130, 50);

this.fillTable(new Course());

}

private void fillTable(Course course) {

DefaultTableModel dtm = (DefaultTableModel) courseTable.getModel();

dtm.setRowCount(0);

Connection con = null;

try {

con = dbUtil.getCon();

ResultSet rs = courseDao.courseList(con, course);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“courseId”));

v.add(rs.getString(“courseName”));

v.add(rs.getString(“courseTime”));

v.add(rs.getString(“courseTeacher”));

v.add(rs.getString(“capacity”));

v.add(rs.getString(“numSelected”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new JScrollPane();

courseTable = new JTable();

jb_underFull = new JButton();

jb_confirm = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“课程选择”);

courseTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “课程编号”, “课程名称”, “上课时间”, “任课老师”, “课程容量”, “已选人数” }) {

boolean[] canEdit = new boolean[] { false, false, false, true, true, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

courseTable.addMouseListener(new java.awt.event.MouseAdapter() {

public void mousePressed(java.awt.event.MouseEvent evt) {

courseTableMousePressed(evt);

}

});

jScrollPane1.setViewportView(courseTable);

jb_underFull.setText(“只显示未选满课程”);

jb_underFull.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_underFullActionPerformed(evt);

}

});

jb_confirm.setText(“确认选择”);

jb_confirm.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_confirmActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,

javax.swing.GroupLayout.DEFAULT_SIZE, 578, Short.MAX_VALUE))

.addGroup(layout.createSequentialGroup().addGap(134, 134, 134)

.addComponent(jb_underFull).addGap(98, 98, 98).addComponent(jb_confirm)))

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 319,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jb_underFull).addComponent(jb_confirm))

.addContainerGap()));

pack();

}

private void jb_underFullActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dtm = (DefaultTableModel) courseTable.getModel();

dtm.setRowCount(0);

Connection con = null;

Course course = new Course();

try {

con = dbUtil.getCon();

ResultSet rs = courseDao.UnderFullList(con, course);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“courseId”));

v.add(rs.getString(“courseName”));

v.add(rs.getString(“courseTime”));

v.add(rs.getString(“courseTeacher”));

v.add(rs.getString(“capacity”));

v.add(rs.getString(“numSelected”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void courseTableMousePressed(java.awt.event.MouseEvent evt) {

int row = courseTable.getSelectedRow();

courseId = Integer.parseInt((String) courseTable.getValueAt(row, 0));

capacity = Integer.parseInt((String) courseTable.getValueAt(row, 4));

numSelected = Integer.parseInt((String) courseTable.getValueAt(row, 5));

}

private void jb_confirmActionPerformed(java.awt.event.ActionEvent evt) {

if (courseId == -1) {

JOptionPane.showMessageDialog(this, “请选择一门课程!”);

return;

}

if (capacity == numSelected) {

JOptionPane.showMessageDialog(this, “该课程已选满,请选择其他课程.”);

return;

}

int n = JOptionPane.showConfirmDialog(this, “确定要选择该门课程吗?”);

if (n == 0) {

Connection con = null;

int currentSno = LogOnFrm.currentStudent.getSno();

Selection selection = new Selection(courseId, currentSno);

try {

con = dbUtil.getCon();

int selectionNum = selectionDao.SelectionAdd(con, selection);

int selectedNum = selectionDao.NumSelectedAdd(con, courseId);

if (selectionNum == 1 && selectedNum == 1) {

JOptionPane.showMessageDialog(this, “选课成功!”);

this.fillTable(new Course());

} else {

JOptionPane.showMessageDialog(this, “选课失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “已选过该门课程!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

SelectedViewInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.SelectionDao;

import com.sjsq.model.Course;

import com.sjsq.model.Selection;

import com.sjsq.util.DbUtil;

public class SelectedViewInterFrm extends javax.swing.JInternalFrame {

private JTable courseTable;

private JScrollPane jScrollPane1;

private JButton jb_selectionCancel;

DbUtil dbUtil = new DbUtil();

SelectionDao selectionDao = new SelectionDao();

private int courseId = -1;

public SelectedViewInterFrm() {

initComponents();

this.setLocation(130, 50);

this.fillTable(new Course());

}

private void fillTable(Course course) {

DefaultTableModel dtm = (DefaultTableModel) courseTable.getModel();

dtm.setRowCount(0);

Connection con = null;

int currentSno = LogOnFrm.currentStudent.getSno();

try {

con = dbUtil.getCon();

ResultSet rs = selectionDao.SelectedList(con, currentSno);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“courseId”));

v.add(rs.getString(“courseName”));

v.add(rs.getString(“courseTime”));

v.add(rs.getString(“courseTeacher”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new JScrollPane();

courseTable = new JTable();

jb_selectionCancel = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“查看已选课程”);

courseTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “课程编号”, “课程名称”, “上课时间”, “任课老师” }) {

boolean[] canEdit = new boolean[] { false, false, false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

courseTable.addMouseListener(new java.awt.event.MouseAdapter() {

public void mousePressed(java.awt.event.MouseEvent evt) {

courseTableMousePressed(evt);

}

});

jScrollPane1.setViewportView(courseTable);

jb_selectionCancel.setText(“退选”);

jb_selectionCancel.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_selectionCancelActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout

.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,

javax.swing.GroupLayout.DEFAULT_SIZE, 602, Short.MAX_VALUE))

.addGroup(

layout.createSequentialGroup().addGap(272, 272, 272).addComponent(jb_selectionCancel)))

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 205,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18).addComponent(jb_selectionCancel).addContainerGap(14, Short.MAX_VALUE)));

pack();

}

private void courseTableMousePressed(java.awt.event.MouseEvent evt) {

int row = courseTable.getSelectedRow();

courseId = Integer.parseInt((String) courseTable.getValueAt(row, 0));

}

private void jb_selectionCancelActionPerformed(

java.awt.event.ActionEvent evt) {

if (courseId == -1) {

JOptionPane.showMessageDialog(this, “请选择一门课程!”);

return;

}

int n = JOptionPane.showConfirmDialog(this, “确定要退选该门课程吗?”);

if (n == 0) {

Connection con = null;

int currentSno = LogOnFrm.currentStudent.getSno();

Selection selection = new Selection(courseId, currentSno);

try {

con = dbUtil.getCon();

int selectionNum = selectionDao.SelectionCancel(con, selection);

int selectedNum = selectionDao.NumSelectedMinus(con, courseId);

if (selectionNum == 1 && selectedNum == 1) {

JOptionPane.showMessageDialog(this, “退选成功!”);

this.fillTable(new Course());

} else {

JOptionPane.showMessageDialog(this, “退选失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “退选失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

SelfInfoInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.StudentDao;

import com.sjsq.model.Sinfo;

import com.sjsq.util.DbUtil;

public class SelfInfoInterFrm extends javax.swing.JInternalFrame {

private JTable infoTable;

private JScrollPane jScrollPane1;

DbUtil dbUtil = new DbUtil();

StudentDao studentDao = new StudentDao();

public SelfInfoInterFrm() {

initComponents();

this.setLocation(170, 50);

this.fillTable(new Sinfo());

}

private void fillTable(Sinfo sinfo) {

DefaultTableModel dtm = (DefaultTableModel) infoTable.getModel();

dtm.setRowCount(0);

Connection con = null;

int currentSno = LogOnFrm.currentStudent.getSno();

sinfo = new Sinfo(currentSno);

try {

con = dbUtil.getCon();

ResultSet rs = studentDao.StudentList(con, sinfo);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“Sno”));

v.add(rs.getString(“Sname”));

v.add(rs.getString(“Ssex”));

v.add(rs.getString(“Smajor”));

v.add(rs.getString(“Stele”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();

infoTable = new javax.swing.JTable();

setClosable(true);

setIconifiable(true);

setTitle(“查看学籍信息”);

infoTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “学号”, “姓名”, “性别”, “专业”, “电话” }) {

boolean[] canEdit = new boolean[] { false, false, false, false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

jScrollPane1.setViewportView(infoTable);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 529, Short.MAX_VALUE)

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 51,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

pack();

}

}

StudentPasswordInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JLabel;

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;

import com.sjsq.dao.StudentDao;

import com.sjsq.model.Student;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class StudentPasswordInterFrm extends javax.swing.JInternalFrame {

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JPanel jPanel1;

private JPanel jPanel2;

private JScrollPane jScrollPane1;

private JButton jb_modify;

private JButton jb_search;

private JTable passwordTable;

private JTextField passwordTxt;

private JTextField s_snoTxt;

private JTextField snoTxt;

DbUtil dbUtil = new DbUtil();

StudentDao studentDao = new StudentDao();

public StudentPasswordInterFrm() {

initComponents();

this.setLocation(280, 50);

this.fillTable(new Student());

}

private void fillTable(Student student) {

DefaultTableModel dtm = (DefaultTableModel) passwordTable.getModel();

dtm.setRowCount(0);

Connection con = null;

try {

con = dbUtil.getCon();

ResultSet rs = studentDao.PasswordList(con, student);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“Sno”));

v.add(rs.getString(“Spassword”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new JScrollPane();

passwordTable = new JTable();

jPanel1 = new JPanel();

jLabel1 = new JLabel();

s_snoTxt = new JTextField();

jb_search = new JButton();

jPanel2 = new JPanel();

snoTxt = new JTextField();

jLabel2 = new JLabel();

jLabel3 = new JLabel();

passwordTxt = new JTextField();

jb_modify = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“管理学生密码”);

passwordTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “学生学号”, “密码” }) {

boolean[] canEdit = new boolean[] { false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

passwordTable.addMouseListener(new java.awt.event.MouseAdapter() {

public void mousePressed(java.awt.event.MouseEvent evt) {

passwordTableMousePressed(evt);

}

});

jScrollPane1.setViewportView(passwordTable);

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(“搜索条件”));

jLabel1.setText(“学生学号:”);

jb_search.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/search.png”)));

jb_search.setText(“查询”);

jb_search.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_searchActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel1Layout.createSequentialGroup().addContainerGap(42, Short.MAX_VALUE).addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(s_snoTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 103,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(42, 42, 42).addComponent(jb_search).addGap(32, 32, 32)));

jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup().addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(s_snoTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jb_search).addComponent(jLabel1))

.addContainerGap(18, Short.MAX_VALUE)));

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(“表单操作”));

snoTxt.setEditable(false);

jLabel2.setText(“学生学号:”);

jLabel3.setText(“学生密码:”);

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(snoTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 93,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)

.addComponent(jLabel3).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(passwordTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 122,

javax.swing.GroupLayout.PREFERRED_SIZE)));

jPanel2Layout

.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addGroup(jPanel2Layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2)

.addComponent(snoTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3).addComponent(passwordTxt, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(18, Short.MAX_VALUE)));

jb_modify.setIcon(new javax.swing.ImageIcon(LogOnFrm.class.getResource(“/images/modify.png”)));

jb_modify.setText(“修改”);

jb_modify.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jb_modifyActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 364,

Short.MAX_VALUE)))

.addGroup(layout.createSequentialGroup().addGap(147, 147, 147).addComponent(jb_modify)))

.addContainerGap()));

layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup().addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 169,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18).addComponent(jb_modify).addContainerGap(29, Short.MAX_VALUE)));

pack();

}

private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {

String sno = this.snoTxt.getText();

if (StringUtil.isEmpty(sno)) {

JOptionPane.showMessageDialog(this, “请选择要修改的记录!”);

return;

}

String password = this.passwordTxt.getText();

if (StringUtil.isEmpty(password)) {

JOptionPane.showMessageDialog(this, “密码不能为空!”);

return;

}

Student student = new Student(Integer.parseInt(sno), password);

Connection con = null;

try {

con = dbUtil.getCon();

int modifyNum = studentDao.PasswordModify(con, student);

if (modifyNum == 1) {

JOptionPane.showMessageDialog(this, “修改成功!”);

this.resetValue();

this.fillTable(new Student());

} else {

JOptionPane.showMessageDialog(this, “修改失败!”);

}

} catch (Exception e) {

e.printStackTrace();

JOptionPane.showMessageDialog(this, “修改失败!”);

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void resetValue() {

this.snoTxt.setText(“”);

this.passwordTxt.setText(“”);

}

private void passwordTableMousePressed(java.awt.event.MouseEvent evt) {

int row = passwordTable.getSelectedRow();

this.snoTxt.setText((String) passwordTable.getValueAt(row, 0));

this.passwordTxt.setText((String) passwordTable.getValueAt(row, 1));

}

private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {

String s_sno = this.s_snoTxt.getText();

if (StringUtil.isEmpty(s_sno)) {

s_sno = “-1”;

}

Student student = new Student(Integer.parseInt(s_sno));

this.fillTable(student);

}

}

StudentViewInterFrm.java


package com.sjsq.view;

import java.sql.Connection;

import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.StudentDao;

import com.sjsq.model.Sinfo;

import com.sjsq.util.DbUtil;

import com.sjsq.util.StringUtil;

public class StudentViewInterFrm extends javax.swing.JInternalFrame {

private JTextField SnameTxt;

private JTextField SnoTxt;

private JLabel jLabel1;

private JLabel jLabel2;

private JPanel jPanel1;

private JScrollPane jScrollPane1;

private JButton jb_search;

private JTable studentTable;

DbUtil dbUtil = new DbUtil();

StudentDao studentDao = new StudentDao();

public StudentViewInterFrm() {

initComponents();

this.setLocation(200, 50);

this.fillTable(new Sinfo());

}

private void fillTable(Sinfo sinfo) {

DefaultTableModel dtm = (DefaultTableModel) studentTable.getModel();

dtm.setRowCount(0);

Connection con = null;

try {

con = dbUtil.getCon();

ResultSet rs = studentDao.StudentList(con, sinfo);

while (rs.next()) {

Vector v = new Vector();

v.add(rs.getString(“Sno”));

v.add(rs.getString(“Sname”));

v.add(rs.getString(“Ssex”));

v.add(rs.getString(“Smajor”));

v.add(rs.getString(“Stele”));

dtm.addRow(v);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

e.printStackTrace();

}

}

}

private void initComponents() {

jScrollPane1 = new JScrollPane();

studentTable = new JTable();

jPanel1 = new JPanel();

jLabel1 = new JLabel();

SnoTxt = new JTextField();

jLabel2 = new JLabel();

SnameTxt = new JTextField();

jb_search = new JButton();

setClosable(true);

setIconifiable(true);

setTitle(“查看学生资料”);

studentTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

}, new String[] { “学号”, “姓名”, “性别”, “专业”, “电话” }) {

boolean[] canEdit = new boolean[] { false, false, false, false, false };

public boolean isCellEditable(int rowIndex, int columnIndex) {

return canEdit[columnIndex];

}

});

jScrollPane1.setViewportView(studentTable);

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(“搜索条件”));

jLabel1.setText(“学生学号:”);

jLabel2.setText(“学生姓名:”);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值