本系统实现了学生登录和管理员登录,学生实现选课,查看已选课程,修改密码,查看学生信息功能。管理员实现选课信息的增删改查,学生信息查询,学生密码修改功能。
package com.sjsq.model;
/**
* Admin实体类
*
* @author jakey
*
* @author shuijianshiqing
*
* @date 2020-09-06 19:37
*
*/
public class Admin {
private int adminId;
private String password;
public Admin() {
super();
}
public Admin(int adminId, String password) {
super();
this.adminId = adminId;
this.password = password;
}
public int getAdminId() {
return adminId;
}
public void setAdminId(int adminId) {
this.adminId = adminId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.sjsq.model;
public class Course {
private int courseId = -1;
private String courseName;
private String courseTime;
private String courseTeacher;
private int capacity;
private int numSelected;
public Course() {
super();
}
public Course(String courseName, String courseTime, String courseTeacher) {
super();
this.courseName = courseName;
this.courseTime = courseTime;
this.courseTeacher = courseTeacher;
}
public Course(int courseId, String courseName, String courseTime, String courseTeacher, int capacity) {
super();
this.courseId = courseId;
this.courseName = courseName;
this.courseTime = courseTime;
this.courseTeacher = courseTeacher;
this.capacity = capacity;
}
public Course(String courseName, String courseTime, String courseTeacher, int capacity) {
super();
this.courseName = courseName;
this.courseTime = courseTime;
this.courseTeacher = courseTeacher;
this.capacity = capacity;
}
public int getCourseId() {
return courseId;
}
public void setCourseId(int courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public String getCourseTime() {
return courseTime;
}
public void setCourseTime(String courseTime) {
this.courseTime = courseTime;
}
public String getCourseTeacher() {
return courseTeacher;
}
public void setCourseTeacher(String courseTeacher) {
this.courseTeacher = courseTeacher;
}
public int getCapacity() {
return capacity;
}
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public int getNumSelected() {
return numSelected;
}
public void setNumSelected(int numSelected) {
this.numSelected = numSelected;
}
}
package com.sjsq.model;
public class Selection {
int selectId;
int courseId = -1;
int Sno;
public Selection() {
super();
}
public Selection(int courseId, int sno) {
super();
this.courseId = courseId;
Sno = sno;
}
public int getSelectId() {
return selectId;
}
public void setSelectId(int selectId) {
this.selectId = selectId;
}
public int getCourseId() {
return courseId;
}
public void setCourseId(int courseId) {
this.courseId = courseId;
}
public int getSno() {
return Sno;
}
public void setSno(int sno) {
Sno = sno;
}
}
package com.sjsq.model;
public class Sinfo {
private int sno = -1;
private String sname;
private String ssex;
private String smajor;
private String stele;
public Sinfo() {
super();
}
public Sinfo(int sno) {
super();
this.sno = sno;
}
public Sinfo(int sno, String sname) {
super();
this.sno = sno;
this.sname = sname;
}
public int getSno() {
return sno;
}
public void setSno(int sno) {
this.sno = sno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSsex() {
return ssex;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public String getSmajor() {
return smajor;
}
public void setSmajor(String smajor) {
this.smajor = smajor;
}
public String getStele() {
return stele;
}
public void setStele(String stele) {
this.stele = stele;
}
}
package com.sjsq.model;
public class Student {
private int Sno = -1;
private String Spassword;
public Student() {
super();
}
public Student(int sno) {
super();
Sno = sno;
}
public Student(int sno, String spassword) {
super();
Sno = sno;
Spassword = spassword;
}
public int getSno() {
return Sno;
}
public void setSno(int sno) {
Sno = sno;
}
public String getSpassword() {
return Spassword;
}
public void setSpassword(String spassword) {
Spassword = spassword;
}
}
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();
}
}
}
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;
}
}
}
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;
}
}
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();
}
}
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();
}
}
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);
}
});
}
}
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("");
}
}
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();
}
}
}
}
}
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();
}
}
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("");
}
}
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();
}
}
}
}
}
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();
}
}
}
}
}
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();
}
}
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);
}
}
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("学生姓名:");
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(78, 78, 78).addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(SnoTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 104,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(69, 69, 69).addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(SnameTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 96,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(56, 56, 56).addComponent(jb_search).addContainerGap(85, Short.MAX_VALUE)));
jPanel1Layout
.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup().addGap(25, 25, 25).addGroup(jPanel1Layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
.addComponent(SnoTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jb_search)
.addComponent(SnameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)).addContainerGap(38, Short.MAX_VALUE)));
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()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, 685, Short.MAX_VALUE))
.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, 148,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(36, Short.MAX_VALUE)));
pack();
}
private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {
String sno = this.SnoTxt.getText();
String sname = this.SnameTxt.getText();
if (StringUtil.isEmpty(sno)) {
sno = "-1";
}
Sinfo sinfo = new Sinfo(Integer.parseInt(sno), sname);
this.fillTable(sinfo);
}
}
Java+Swing实现仓库管理系统
Java+Swing实现学生信息管理系统
Java+Swing实现学生宿舍管理系统
请联系QQ:3079118617