java宿舍管理系统项目需求文档

  • 更新时间:
  • 2771人关注
  • 点击下载

这是一个不错的java类学习资源,由汲初珍 提供,主要知识点是关于java、宿舍管理系统、java项目需求文档、java的内容,已被330人关注,同类资源中评分为9.2分。

宿舍已满的情况下,如果再次选择添加学生姓名,提示如下:

宿舍有空位的情况下,如果再次选择添加学生姓名,提示如下:

追加到寝室最大人数,并提示xx宿舍已满

2.查看宿舍人员名单

3.修改床铺信息

如果需要修改的名字存在,进行提示修改。

如果需要修改的名字不存在,进行提示修改。

精选笔记:Java+MySQL实现学生信息管理系统源码

7小时50分钟前回答

基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家。(由于篇幅原因,代码未全部列出,如有需要留下邮箱)

鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git

Java+MySQL实现学生信息管理系统源码

1、 开发环境:jdk7+MySQL5+win7

代码结构:model-dao-view

2、 数据库设计--建库建表语句:

CREATE DATABASE student; 


DROP TABLE IF EXISTS `admin`; 
CREATE TABLE `admin` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `name` varchar(20) NOT NULL, 
 `username` varchar(20) NOT NULL, 
 `password` varchar(20) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 
 
LOCK TABLES `admin` WRITE; 
INSERT INTO `admin` VALUES (1,'admin','admin','admin'); 
UNLOCK TABLES; 
 
DROP TABLE IF EXISTS `student`; 
CREATE TABLE `student` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `name` varchar(20) NOT NULL, 
 `sno` varchar(20) NOT NULL, 
 `department` varchar(20) NOT NULL, 
 `hometown` varchar(20) NOT NULL, 
 `mark` varchar(20) NOT NULL, 
 `email` varchar(20) NOT NULL, 
 `tel` varchar(20) NOT NULL, 
 `sex` varchar(20) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; 
 
LOCK TABLES `student` WRITE; 
INSERT INTO `student` VALUES (18,'张三','001','信息科学技术学院','辽宁','80','zhangsan@163.com','13888888888','男'),(19,'李四','002','理学院','上海','70','lisi@sina.com','13812341234','男'),(20,'王五','003','外国语学院','北京','88','wangwu@126.com','13698765432','女'); 
UNLOCK TABLES; 

3、model--管理员、学生

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午9:42:48 
 */ 
package com.student.model; 
 
/** 
 * 模块说明:admin 
 * 
 */ 
public class Admin { 
 private int id; 
 private String name; 
 private String username; 
 private String password; 
 
 public String getName() { 
  return name; 
 } 
 
 public void setName(String name) { 
  this.name = name; 
 } 
 
 public int getId() { 
  return id; 
 } 
 
 public void setId(int id) { 
  this.id = id; 
 } 
 
 public String getUsername() { 
  return username; 
 } 
 
 public void setUsername(String username) { 
  this.username = username; 
 } 
 
 public String getPassword() { 
  return password; 
 } 
 
 public void setPassword(String password) { 
  this.password = password; 
 } 
 
} 

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午9:42:36 
 */ 
package com.student.model; 
 
/** 
 * 模块说明: 学生 
 * 
 */ 
public class Student { 
 private int id; 
 private String sno;// 学号 
 private String name; 
 private String sex; 
 private String department;// 院系 
 private String homeTown;// 籍贯 
 private String mark;// 学分 
 private String email; 
 private String tel;// 联系方式 
 
 public int getId() { 
  return id; 
 } 
 
 public void setId(int id) { 
  this.id = id; 
 } 
 
 public String getSno() { 
  return sno; 
 } 
 
 public void setSno(String sno) { 
  this.sno = sno; 
 } 
 
 public String getName() { 
  return name; 
 } 
 
 public void setName(String name) { 
  this.name = name; 
 } 
 
 public String getSex() { 
  return sex; 
 } 
 
 public void setSex(String sex) { 
  this.sex = sex; 
 } 
 
 public String getDepartment() { 
  return department; 
 } 
 
 public void setDepartment(String department) { 
  this.department = department; 
 } 
 
 public String getHomeTown() { 
  return homeTown; 
 } 
 
 public void setHomeTown(String homeTown) { 
  this.homeTown = homeTown; 
 } 
 
 public String getMark() { 
  return mark; 
 } 
 
 public void setMark(String mark) { 
  this.mark = mark; 
 } 
 
 public String getEmail() { 
  return email; 
 } 
 
 public void setEmail(String email) { 
  this.email = email; 
 } 
 
 public String getTel() { 
  return tel; 
 } 
 
 public void setTel(String tel) { 
  this.tel = tel; 
 } 
 
} 

4、 工具类DBUtil(对jdbc进行封装)

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午9:43:21 
 */ 
package com.student.util; 
 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
 
import com.student.AppConstants; 
 
/** 
 * 模块说明:数据库工具类 
 * 
 */ 
public class DBUtil { 
 private static DBUtil db; 
 
 private Connection conn; 
 private PreparedStatement ps; 
 private ResultSet rs; 
 
 private DBUtil() { 
 
 } 
 
 public static DBUtil getDBUtil() { 
  if (db == null) { 
   db = new DBUtil(); 
  } 
  return db; 
 } 
 
 public int executeUpdate(String sql) { 
  int result = -1; 
  if (getConn() == null) { 
   return result; 
  } 
  try { 
   ps = conn.prepareStatement(sql); 
   result = ps.executeUpdate(); 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
  return result; 
 } 
 
 public int executeUpdate(String sql, Object[] obj) { 
  int result = -1; 
  if (getConn() == null) { 
   return result; 
  } 
  try { 
   ps = conn.prepareStatement(sql); 
   for (int i = 0; i < obj.length; i++) { 
    ps.setObject(i + 1, obj[i]); 
   } 
   result = ps.executeUpdate(); 
   close(); 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
  return result; 
 } 
 
 public ResultSet executeQuery(String sql) { 
  if (getConn() == null) { 
   return null; 
  } 
  try { 
   ps = conn.prepareStatement(sql); 
   rs = ps.executeQuery(); 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
  return rs; 
 } 
 
 public ResultSet executeQuery(String sql, Object[] obj) { 
  if (getConn() == null) { 
   return null; 
  } 
  try { 
   ps = conn.prepareStatement(sql); 
   for (int i = 0; i < obj.length; i++) { 
    ps.setObject(i + 1, obj[i]); 
   } 
   rs = ps.executeQuery(); 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
 
  return rs; 
 } 
 
 private Connection getConn() { 
  try { 
   if (conn == null || conn.isClosed()) { 
    Class.forName(AppConstants.JDBC_DRIVER); 
    conn = DriverManager.getConnection(AppConstants.JDBC_URL, AppConstants.JDBC_USERNAME, 
      AppConstants.JDBC_PASSWORD); 
   } 
  } catch (ClassNotFoundException e) { 
   System.out.println("jdbc driver is not found."); 
   e.printStackTrace(); 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
  return conn; 
 } 
 
 public void close() { 
  try { 
   if (rs != null) { 
    rs.close(); 
   } 
   if (ps != null) { 
    ps.close(); 
   } 
   if (conn != null) { 
    conn.close(); 
   } 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } 
 } 
} 

5、 dao:主要调用DBUtil操作相应的model--增删改查

BaseDAO.java

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午10:04:37 
 */ 
package com.student.base; 
 
import java.sql.ResultSet; 
import java.sql.SQLException; 
 
import com.student.DAO; 
import com.student.dao.AdminDAO; 
import com.student.dao.StudentDAO; 
import com.student.util.DBUtil; 
 
/** 
 * 模块说明: DAO基类 
 * 
 */ 
public abstract class BaseDAO { 
 protected final DBUtil db = DBUtil.getDBUtil(); 
 protected ResultSet rs; 
 private static BaseDAO baseDAO; 
 
 public BaseDAO() { 
  init(); 
 } 
 
 private void init() { 
  // buildAbilityDAO(); 
 } 
 
 // protected abstract void buildAbilityDAO(); 
 
 public static synchronized BaseDAO getAbilityDAO(DAO dao) { 
  switch (dao) { 
  case AdminDAO: 
   if (baseDAO == null || baseDAO.getClass() != AdminDAO.class) { 
    baseDAO = AdminDAO.getInstance(); 
   } 
   break; 
  case StudentDAO: 
   if (baseDAO == null || baseDAO.getClass() != StudentDAO.class) { 
    baseDAO = StudentDAO.getInstance(); 
   } 
   break; 
  default: 
   break; 
  } 
  return baseDAO; 
 } 
 
 protected void destroy() { 
  try { 
   if (rs != null) { 
    rs.close(); 
   } 
  } catch (SQLException se) { 
   se.printStackTrace(); 
  } finally { 
   db.close(); 
  } 
 } 
} 

AdminDAO.java

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午9:59:58 
 */ 
package com.student.dao; 
 
import java.sql.SQLException; 
 
import com.student.base.BaseDAO; 
 
/** 
 * 模块说明: 管理员增删改查 
 * 
 */ 
public class AdminDAO extends BaseDAO { 
 
 private static AdminDAO ad = null; 
 
 public static synchronized AdminDAO getInstance() { 
  if (ad == null) { 
   ad = new AdminDAO(); 
  } 
  return ad; 
 } 
 
 public boolean queryForLogin(String username, String password) { 
  boolean result = false; 
  if (username.length() == 0 || password.length() == 0) { 
   return result; 
  } 
  String sql = "select * from admin where username=? and password=?"; 
  String[] param = { username, password }; 
  rs = db.executeQuery(sql, param); 
  try { 
   if (rs.next()) { 
    result = true; 
   } 
  } catch (SQLException e) { 
   e.printStackTrace(); 
  } finally { 
   destroy(); 
  } 
  return result; 
 } 
 
} 

StudentDAO.java

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-上午10:00:07 
 */ 
package com.student.dao; 
 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.ArrayList; 
import java.util.List; 
 
import com.student.base.BaseDAO; 
import com.student.model.Student; 
 
/** 
 * 模块说明: 学生增删改查 
 * 
 */ 
public class StudentDAO extends BaseDAO { 
 private final int fieldNum = 9; 
 private final int showNum = 15; 
 private static StudentDAO sd = null; 
 
 public static synchronized StudentDAO getInstance() { 
  if (sd == null) { 
   sd = new StudentDAO(); 
  } 
  return sd; 
 } 
 
 // update 
 public boolean update(Student stu) { 
  boolean result = false; 
  if (stu == null) { 
   return result; 
  } 
  try { 
   // check 
   if (queryBySno(stu.getSno()) == 0) { 
    return result; 
   } 
   // update 
   String sql = "update student set sex=?,department=?,email=?,tel=?,hometown=?,mark=? where name=? and sno=?"; 
   String[] param = { stu.getSex(), stu.getDepartment(), stu.getEmail(), stu.getTel(), stu.getHomeTown(), 
     stu.getMark(), stu.getName(), stu.getSno() }; 
   int rowCount = db.executeUpdate(sql, param); 
   if (rowCount == 1) { 
    result = true; 
   } 
  } catch (SQLException se) { 
   se.printStackTrace(); 
  } finally { 
   destroy(); 
  } 
  return result; 
 } 
 
 // delete 
 public boolean delete(Student stu) { 
  boolean result = false; 
  if (stu == null) { 
   return result; 
  } 
  String sql = "delete from student where name=? and sno=?"; 
  String[] param = { stu.getName(), stu.getSno() }; 
  int rowCount = db.executeUpdate(sql, param); 
  if (rowCount == 1) { 
   result = true; 
  } 
  destroy(); 
  return result; 
 } 
 
 // add 
 public boolean add(Student stu) { 
  boolean result = false; 
  if (stu == null) { 
   return result; 
  } 
  try { 
   // check 
   if (queryBySno(stu.getSno()) == 1) { 
    return result; 
   } 
   // insert 
   String sql = "insert into student(name,sno,sex,department,hometown,mark,email,tel) values(?,?,?,?,?,?,?,?)"; 
   String[] param = { stu.getName(), stu.getSno(), stu.getSex(), stu.getDepartment(), stu.getHomeTown(), 
     stu.getMark(), stu.getEmail(), stu.getTel() }; 
   if (db.executeUpdate(sql, param) == 1) { 
    result = true; 
   } 
  } catch (SQLException se) { 
   se.printStackTrace(); 
  } finally { 
   destroy(); 
  } 
  return result; 
 } 
 
 // query by name 
 public String[][] queryByName(String name) { 
  String[][] result = null; 
  if (name.length() < 0) { 
   return result; 
  } 
  List<Student> stus = new ArrayList<Student>(); 
  int i = 0; 
  String sql = "select * from student where name like ?"; 
  String[] param = { "%" + name + "%" }; 
  rs = db.executeQuery(sql, param); 
  try { 
   while (rs.next()) { 
    buildList(rs, stus, i); 
    i++; 
   } 
   if (stus.size() > 0) { 
    result = new String[stus.size()][fieldNum]; 
    for (int j = 0; j < stus.size(); j++) { 
     buildResult(result, stus, j); 
    } 
   } 
  } catch (SQLException se) { 
   se.printStackTrace(); 
  } finally { 
   destroy(); 
  } 
 
  return result; 
 } 
 
 // query 
 public String[][] list(int pageNum) { 
  String[][] result = null; 
  if (pageNum < 1) { 
   return result; 
  } 
  List<Student> stus = new ArrayList<Student>(); 
  int i = 0; 
  int beginNum = (pageNum - 1) * showNum; 
  String sql = "select * from student limit ?,?"; 
  Integer[] param = { beginNum, showNum }; 
  rs = db.executeQuery(sql, param); 
  try { 
   while (rs.next()) { 
    buildList(rs, stus, i); 
    i++; 
   } 
   if (stus.size() > 0) { 
    result = new String[stus.size()][fieldNum]; 
    for (int j = 0; j < stus.size(); j++) { 
     buildResult(result, stus, j); 
    } 
   } 
  } catch (SQLException se) { 
   se.printStackTrace(); 
  } finally { 
   destroy(); 
  } 
 
  return result; 
 } 
 
 // 将rs记录添加到list中 
 private void buildList(ResultSet rs, List<Student> list, int i) throws SQLException { 
  Student stu = new Student(); 
  stu.setId(i + 1); 
  stu.setName(rs.getString("name")); 
  stu.setDepartment(rs.getString("department")); 
  stu.setEmail(rs.getString("email")); 
  stu.setHomeTown(rs.getString("hometown")); 
  stu.setMark(rs.getString("mark")); 
  stu.setSex(rs.getString("sex")); 
  stu.setSno(rs.getString("sno")); 
  stu.setTel(rs.getString("tel")); 
  list.add(stu); 
 } 
 
 // 将list中记录添加到二维数组中 
 private void buildResult(String[][] result, List<Student> stus, int j) { 
  Student stu = stus.get(j); 
  result[j][0] = String.valueOf(stu.getId()); 
  result[j][1] = stu.getName(); 
  result[j][2] = stu.getSno(); 
  result[j][3] = stu.getSex(); 
  result[j][4] = stu.getDepartment(); 
  result[j][5] = stu.getHomeTown(); 
  result[j][6] = stu.getMark(); 
  result[j][7] = stu.getEmail(); 
  result[j][8] = stu.getTel(); 
 } 
 
 // query by sno 
 private int queryBySno(String sno) throws SQLException { 
  int result = 0; 
  if ("".equals(sno) || sno == null) { 
   return result; 
  } 
  String checkSql = "select * from student where sno=?"; 
  String[] checkParam = { sno }; 
  rs = db.executeQuery(checkSql, checkParam); 
  if (rs.next()) { 
   result = 1; 
  } 
  return result; 
 } 
 
} 

6、 view:与用户交互的界面(包括LoginView.java、MainView.java、AddView.java、DeleteView.java、UpdateView.java),主要使用DAO提供的接口,由于篇幅原因,仅列出MainView即首页。

/** 
 * 项目名:student 
 * 修改历史: 
 * 作者: MZ 
 * 创建时间: 2016年1月6日-下午1:37:39 
 */ 
package com.student.view; 
 
import java.awt.BorderLayout; 
import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.KeyAdapter; 
import java.awt.event.KeyEvent; 
 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.JTextField; 
import javax.swing.table.DefaultTableCellRenderer; 
import javax.swing.table.DefaultTableModel; 
import javax.swing.table.TableColumn; 
 
import com.student.AppConstants; 
import com.student.DAO; 
import com.student.base.BaseDAO; 
import com.student.dao.StudentDAO; 
 
/** 
 * 模块说明: 首页 
 * 
 */ 
public class MainView extends JFrame { 
 
 private static final long serialVersionUID = 5870864087464173884L; 
 
 private final int maxPageNum = 99; 
 
 private JPanel jPanelNorth, jPanelSouth, jPanelCenter; 
 private JButton jButtonFirst, jButtonLast, jButtonNext, jButtonPre, jButtonAdd, jButtonDelete, jButtonUpdate, 
  jButtonFind; 
 private JLabel currPageNumJLabel; 
 private JTextField condition; 
 public static JTable jTable; 
 private JScrollPane jScrollPane; 
 private DefaultTableModel myTableModel; 
 
 public static String[] column = { "id", AppConstants.STUDENT_NAME, AppConstants.STUDENT_SNO, 
  AppConstants.STUDENT_SEX, AppConstants.STUDENT_DEPARTMETN, AppConstants.STUDENT_HOMETOWN, 
  AppConstants.STUDENT_MARK, AppConstants.STUDENT_EMAIL, AppConstants.STUDENT_TEL }; 
 public static int currPageNum = 1; 
 
 public MainView() { 
 init(); 
 } 
 
 private void init() { 
 setTitle(AppConstants.MAINVIEW_TITLE); 
 
 // north panel 
 jPanelNorth = new JPanel(); 
 jPanelNorth.setLayout(new GridLayout(1, 5)); 
 condition = new JTextField(AppConstants.PARAM_FIND_CONDITION); 
 condition.addKeyListener(new FindListener()); 
 jPanelNorth.add(condition); 
 // query by name 
 jButtonFind = new JButton(AppConstants.PARAM_FIND); 
 jButtonFind.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  find(); 
  } 
 }); 
 jButtonFind.addKeyListener(new FindListener()); 
 // add 
 jPanelNorth.add(jButtonFind); 
 jButtonAdd = new JButton(AppConstants.PARAM_ADD); 
 jButtonAdd.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  new AddView(); 
  } 
 }); 
 jPanelNorth.add(jButtonAdd); 
 // delete 
 jButtonDelete = new JButton(AppConstants.PARAM_DELETE); 
 jButtonDelete.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  new DeleteView(); 
  } 
 }); 
 jPanelNorth.add(jButtonDelete); 
 // update 
 jButtonUpdate = new JButton(AppConstants.PARAM_UPDATE); 
 jButtonUpdate.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  new UpdateView(); 
  } 
 }); 
 jPanelNorth.add(jButtonUpdate); 
 
 // center panel 
 jPanelCenter = new JPanel(); 
 jPanelCenter.setLayout(new GridLayout(1, 1)); 
 
 // init jTable 
 String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum); 
 myTableModel = new DefaultTableModel(result, column); 
 jTable = new JTable(myTableModel); 
 DefaultTableCellRenderer cr = new DefaultTableCellRenderer(); 
 cr.setHorizontalAlignment(JLabel.CENTER); 
 jTable.setDefaultRenderer(Object.class, cr); 
 initJTable(jTable, result); 
 
 jScrollPane = new JScrollPane(jTable); 
 jPanelCenter.add(jScrollPane); 
 
 // south panel 
 jPanelSouth = new JPanel(); 
 jPanelSouth.setLayout(new GridLayout(1, 5)); 
 
 jButtonFirst = new JButton(AppConstants.MAINVIEW_FIRST); 
 jButtonFirst.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  currPageNum = 1; 
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum); 
  initJTable(jTable, result); 
  currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum 
   + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE); 
  } 
 }); 
 jButtonPre = new JButton(AppConstants.MAINVIEW_PRE); 
 jButtonPre.addActionListener(new ActionListener() { 
 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  currPageNum--; 
  if (currPageNum <= 0) { 
   currPageNum = 1; 
  } 
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum); 
  initJTable(jTable, result); 
  currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum 
   + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE); 
  } 
 }); 
 jButtonNext = new JButton(AppConstants.MAINVIEW_NEXT); 
 jButtonNext.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  currPageNum++; 
  if (currPageNum > maxPageNum) { 
   currPageNum = maxPageNum; 
  } 
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum); 
  initJTable(jTable, result); 
  currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum 
   + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE); 
  } 
 }); 
 jButtonLast = new JButton(AppConstants.MAINVIEW_LAST); 
 jButtonLast.addActionListener(new ActionListener() { 
  @Override 
  public void actionPerformed(ActionEvent e) { 
  currPageNum = maxPageNum; 
  String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).list(currPageNum); 
  initJTable(jTable, result); 
  currPageNumJLabel.setText(AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum 
   + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE); 
  } 
 }); 
 
 currPageNumJLabel = new JLabel( 
  AppConstants.MAINVIEW_PAGENUM_JLABEL_DI + currPageNum + AppConstants.MAINVIEW_PAGENUM_JLABEL_YE); 
 currPageNumJLabel.setHorizontalAlignment(JLabel.CENTER); 
 
 jPanelSouth.add(jButtonFirst); 
 jPanelSouth.add(jButtonPre); 
 jPanelSouth.add(currPageNumJLabel); 
 jPanelSouth.add(jButtonNext); 
 jPanelSouth.add(jButtonLast); 
 
 this.add(jPanelNorth, BorderLayout.NORTH); 
 this.add(jPanelCenter, BorderLayout.CENTER); 
 this.add(jPanelSouth, BorderLayout.SOUTH); 
 
 setBounds(400, 200, 750, 340); 
 setResizable(false); 
 setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
 setVisible(true); 
 } 
 
 public static void initJTable(JTable jTable, String[][] result) { 
 ((DefaultTableModel) jTable.getModel()).setDataVector(result, column); 
 jTable.setRowHeight(20); 
 TableColumn firsetColumn = jTable.getColumnModel().getColumn(0); 
 firsetColumn.setPreferredWidth(30); 
 firsetColumn.setMaxWidth(30); 
 firsetColumn.setMinWidth(30); 
 TableColumn secondColumn = jTable.getColumnModel().getColumn(1); 
 secondColumn.setPreferredWidth(60); 
 secondColumn.setMaxWidth(60); 
 secondColumn.setMinWidth(60); 
 TableColumn thirdColumn = jTable.getColumnModel().getColumn(2); 
 thirdColumn.setPreferredWidth(90); 
 thirdColumn.setMaxWidth(90); 
 thirdColumn.setMinWidth(90); 
 TableColumn fourthColumn = jTable.getColumnModel().getColumn(3); 
 fourthColumn.setPreferredWidth(30); 
 fourthColumn.setMaxWidth(30); 
 fourthColumn.setMinWidth(30); 
 TableColumn seventhColumn = jTable.getColumnModel().getColumn(6); 
 seventhColumn.setPreferredWidth(30); 
 seventhColumn.setMaxWidth(30); 
 seventhColumn.setMinWidth(30); 
 TableColumn ninthColumn = jTable.getColumnModel().getColumn(8); 
 ninthColumn.setPreferredWidth(90); 
 ninthColumn.setMaxWidth(90); 
 ninthColumn.setMinWidth(90); 
 } 
 
 private class FindListener extends KeyAdapter { 
 
 @Override 
 public void keyPressed(KeyEvent e) { 
  if (e.getKeyCode() == KeyEvent.VK_ENTER) { 
  find(); 
  } 
 } 
 } 
 
 private void find() { 
 currPageNum = 0; 
 String param = condition.getText(); 
 if ("".equals(param) || param == null) { 
  initJTable(MainView.jTable, null); 
  currPageNumJLabel.setText(AppConstants.MAINVIEW_FIND_JLABEL); 
  return; 
 } 
 String[][] result = ((StudentDAO) BaseDAO.getAbilityDAO(DAO.StudentDAO)).queryByName(param); 
 condition.setText(""); 
 initJTable(MainView.jTable, result); 
 currPageNumJLabel.setText(AppConstants.MAINVIEW_FIND_JLABEL); 
 } 
 
} 

end.

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

展开阅读

相关资源

  • 数据结构与算法经典问题解析:Java语言描述

    数据结构与算法经典问题解析:Java语言描述

    数据结构与算法经典问题解析:Java语言描述(原书第2版) 是一本数据结构方面的优秀教材,以Java为描述语言,介绍了计算机编程中使用的数据结构和算法。本书强调问题及其分析,而非理论阐

    大小:107.1 MBJava语言

    立即下载
  • 深度解析Java游戏服务器开发

    深度解析Java游戏服务器开发

    以便协助想掌握新手入门服务器开发设计的从业者或式从业者快速把握Java服务器开发设计的技术性,这书从手机游戏的行业现状、Java技术性、手机游戏逻辑性、数据库系统、网络理论、服务器

    大小:314.4 MBJava开发

    立即下载
  • JavaScript编程精解(第3版)

    JavaScript编程精解(第3版)

    编辑推荐 本书基于ES6新特性! 本书从JavaScript的基本语言特性入手,提纲挈领地介绍JavaScript的主要功能和特色,包括基本结构、函数、数据结构、高阶函数、错误处理、正则表达式、模块、异步编程、浏览器文档对象模型、事件处理、绘图、HTTP表单、Node等,可以帮助你循序渐进地掌握基本的编程概念、技术和思想。而且书中提供5个项目实战章节,涉及路径查找、自制编程语言、平台交互游戏、绘图工具和动态网站,可以帮助你快速上手实际的项目。此

    大小:134 MBJavaScript

    立即下载
  • 完美图解物联网IoT实操:ESP8266 Arduino,Cordova物联网移动App,JavaScript微控制器编程

    完美图解物联网IoT实操:ESP8266 Arduino,Cordova物联网移动App,JavaScript微控制器编程

    完美图解物联网技术系列》图书是当前物联网开发技术应用的集大成者。本书内容以Arduino和JavaScript为主线,开发物联网应用、手机App和操控微电脑

    大小:60.8 MB物联网

    立即下载
  • JavaScript高级程序设计

    JavaScript高级程序设计

    《 JavaScript高級编程设计(第3版) 》是JavaScript超級畅销书的*版。ECMAScript5和HTML5在规范之战中同时获胜,使很多特有保持和手机客户端拓展宣布进到标准,另外也为JavaScript增加了许多融入发展方

    大小:23 MBJS程序设计

    立即下载

学习笔记

22小时23分钟前回答

Java实现租车管理系统

需求: 完成一个和用户互动的租车管理系统,当中包括基础的增删改查,以及输出实时地热度排行榜! 功能设计: 在工程的包com.Test02中,搭建4个类,分别是程序启动(carSysStart)、控制台(carConsole)、数据存储内存库(carData_base)、系统的功能类(carFunction) 具体代码如下: 1.程序启动 package com.Test02; public class carSysStart { public static void main(String[] args) { carConsole p=new carConsole(); p.setP(100); p.getP().initBaseinfo(); p.getInfo(); }} 2.控制台 package com.Test02;import java.util.Scanner; public class carConsole { private Scanner cin=new Scanner(System.in); private carFunction p; private boolean isBase=false; public static void Prompt(){ //声明静态方法,之后其他类调用也不用先……

18小时43分钟前回答

基于java实现租车管理系统

概述 基于java + swing + JFrame 的图书馆管理系统,租车,还车,管理员管理用户,付款等。 部分代码 public class Login extends JFrame { private static final long serialVersionUID = 1L; /** * 登录窗体 */ public Login() { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // 设置顶部提示文字和主窗体的宽,高,x值,y值 setTitle("登录"); setBounds(300, 300, 300, 280); // 添加一个cp容器 Container cp = getContentPane(); // 设置添加的cp容器为流布局管理器 cp.setLayout(null); // 设置左侧用户名文字 JLabel jl = new JLabel("用户名:"); jl.setBounds(10, 10, 200, 18); // 用户名框 final JTextField name = new JTextField(); //设置用户名框的宽,高,x值,y值 name.setBounds(80, 10, 150, 18); // 设……

17小时50分钟前回答

Java GUI实现学生成绩管理系统

学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理。 先看看效果吧 1.登录主界面 package edu.gzu.stuManager; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import java.awt.Toolkit; import javax.swing.JTextField; import edu.gzu.……