1、 项目概述
1.1 项目主要内容
Java Swing开发简单的学生信息管理系统,实现增加,删除,修改,查询的 *** 作。
1.2 项目需求分析
1.开发简单的学生信息管理系统。
2.能实现对学生信息的增加,删除,查询,修改功能。
2、 项目设计
2.1 项目目标
根据上面的需求分析,学生成绩管理系统要达到的目标:
(1)存储学生的基本信息。
(2)增加修改和删除学生信息,
(3)查询想要的学生信息。
2.2 构建开发环境
【1】系统开发平台:IDEA Java开发环境,MySql。
【2】系统开发语言:Java编程语言,sql语言。
【3】运行平台:IDEA
2.3 系统功能结构
【1】 增加功能
try { conn = DBUtil.getConn(); if (conn==null){ return false; } ps = conn.prepareStatement(sql); ps.setString(1, adminDo.getUserName()); resultSet = ps.executeQuery(); while (resultSet.next()) { String pwd = resultSet.getString(1); if (adminDo.getPwd().equals(pwd)) { return true; }
【2】 查找功能
try { conn=DBUtil.getConn(); ps=conn.prepareStatement(sql.toString()); rs=ps.executeQuery(); //查询记录 returnDTO.setData(extracted(rs)); sql.setLength(0); sql.append("select count(*) from student"); if(request.getSearchKey()!=null&&!"".equals(request.getSearchKey().trim())) { sql.append("where name like '% "+request.getSearchKey().trim()+"%'"); }
2.4 系统业务流程图
3.公共类设计
- public class MainView extends Jframe//主界面的显示
- public class LoginView extends Jframe //登录界面
- public class LoginHandler extends KeyAdapter implements ActionListener //加入监听
- public class AdminDo//添加用户信息
- public class MainViewCellRender extends DefaultTableCellRenderer
//在每一行的每一列显示之前都会调用,隔行换色,居中
- public class MainViewTable extends JTable//表格的设置,包括渲染方式
- public class MainViewTableModel extends DefaultTableModel //学生属性的类
- public class StudentServiceImpl implements StudentService //处理学生记录
- public class JtableDemo extends Jframe //加入学生信息
- public class StudentRequest//写入或返回学生信息
4、详细设计
4.1 登录页面的设计
【1】 设计登录页面
【2】 代码实现:
public class LoginView extends Jframe { JLabel nameLabel=new JLabel("学生信息管理系统",JLabel.CENTER); SpringLayout springLayout=new SpringLayout(); JPanel centerPanel=new JPanel(springLayout); JLabel userNameLabel=new JLabel("用户名:"); JTextField userTxt=new JTextField(); JLabel pwdLabel=new JLabel("密码:"); JPasswordField pwdField=new JPasswordField(); JButton loginBtn=new JButton("登录"); JButton resetBtn=new JButton("重置"); SystemTray systemTray; TrayIcon trayIcon; LoginHandler loginHandler; public LoginView(){ super("学生管理系统");
4.2 学生信息项目:
【1】学生的包含属性
【2】代码实现:
public class MainViewTableModel extends DefaultTableModel { static Vectorcolumns=new Vector<>(); static { columns.addElement("学号"); columns.addElement("姓名"); columns.addElement("学院"); columns.addElement("专业"); columns.addElement("班级"); } private MainViewTableModel(){ super(null,columns); }
4.3 获取数据库链接:
【1】连接到数据库
【2】代码实现:
public static Connection getConn(){ try { return DriverManager.getConnection(URL,USER_NAME,PWD); } catch (SQLException e) { e.printStackTrace(); } return null; } //获取数据库连接 public static void closeConn(Connection connection){ if (connection!=null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }
4.4 设置表格列的渲染方式
【1】表格列之间深浅色交换
【2】代码实现:
public void renderRule(){ Vectorcolumns= MainViewTableModel.getColumns(); MainViewCellRender render=new MainViewCellRender(); for (int i = 0; i < columns.size(); i++) { TableColumn column =getColumn(columns.get(i)); column.setCellRenderer(render); if (i==0){ column.setPreferredWidth(50); column.setMaxWidth(50); column.setResizable(false); } }
4.5 确认用户存在:
【1】用户存在才能允许登录
【2】代码实现:
private void extracted() { String user= loginView.getUserTxt().getText(); char[] chars=loginView.getPwdField().getPassword(); if (user==null||"".equals(user.trim())||chars==null){ JOptionPane.showMessageDialog(loginView,"用户名密码必填"); return; } String pwd=new String(chars); System.out.println(user+":"+pwd); //查询db,当数据库里也有相应的用户名和密码时才能登陆
5.运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)