学生管理系统-韩顺平java汇编

上传人:i**** 文档编号:51473731 上传时间:2022-01-26 格式:DOCX 页数:14 大小:20.74KB
返回 下载 相关 举报
学生管理系统-韩顺平java汇编_第1页
第1页 / 共14页
学生管理系统-韩顺平java汇编_第2页
第2页 / 共14页
学生管理系统-韩顺平java汇编_第3页
第3页 / 共14页
点击查看更多>>
资源描述
学习 - 好资料/* 功能 :简易学生管理系统* 1. 能过姓名查询 ;* 2. 增 .删 .改学生信息*/public class StuManageSystemVersion1 extends JFrame implements ActionListener/ 定义组件 , 界面由三部分组成, 上部是姓名查询部分, 为一个 JPanel,中间是一个JScorllPane,底部也是一个JPanel,放了三个按钮JPanel top,bottom;JScrollPane jsp;JTable jt;JButton search,add,delete,update;JLabel name;JTextField jtf;StuModel sm=null;public StuManageSystemVersion1()/创建组件/Top 组件top=new JPanel();name=new JLabel( 请输入姓名 );jtf=new JTextField(22);search=new JButton( 查询 );search.addActionListener(this);更多精品文档学习 - 好资料top.add(name);top.add(jtf);top.add(search);sm=new StuModel();sm.queryStu(select * from stus, null);jt=new JTable(sm);jt.setSelectionBackground(Color.RED);jsp=new JScrollPane(jt);/底部组件bottom=new JPanel();add=new JButton( 增加 );add.addActionListener(this);delete=new JButton( 删除 );delete.addActionListener(this);update=new JButton( 修改 );update.addActionListener(this);bottom.add(add);bottom.add(delete);bottom.add(update);/添加组件this.add(top,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);this.add(bottom,BorderLayout.SOUTH);/设置窗体属性this.setSize(400,300);this.setTitle( 学生管理系统);int w=Toolkit.getDefaultToolkit().getScreenSize().width;int h=Toolkit.getDefaultToolkit().getScreenSize().height;this.setLocation(w/2-200, h/2-150);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);更多精品文档学习 - 好资料public static void main(String args) / TODO Auto-generated method stub new StuManageSystemVersion1();/更新数据模型public void updStuModel()sm=new StuModel();sm.queryStu(select * from stus, null);jt.setModel(sm);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if(e.getSource()=search)String s=jtf.getText().trim(); String name=s;String sql=;if(s.length()!=0)sql=select * from Stus where StuName=?;else if(s.length()=0)sql=select * from Stus;name=null;sm=new StuModel();sm.queryStu(sql, name);jt.setModel(sm);jtf.setText();else if(e.getSource()=add)Boolean flag=true;while(flag)AddNewStu ans=new AddNewStu(this, 添加新学生 , true);/更新数据模型this.updStuModel();/确认是否添加新的学生inti=JOptionPane.showConfirmDialog(this,是否继续添加学生?,JOptionPane.YES_NO_OPTION);更多精品文档学习 - 好资料if(i=JOptionPane.NO_OPTION)flag=false;else if(e.getSource()=delete)if(jt.getSelectedRow()=-1)JOptionPane.showMessageDialog(this, 请先选择一行数据 ); return;elseint selectID=jt.getSelectedRow();String stuID=jt.getValueAt(selectID, 0).toString();String sql=delete from stus where stuID=?;sm=new StuModel();sm.updStu(sql, stuID);/更新数据模型this.updStuModel();else if(e.getSource()=update)if(jt.getSelectedRow()=-1)JOptionPane.showMessageDialog(this, 请先选择一行数据 ); return;elseint id=jt.getSelectedRow();sm=new StuModel();sm.queryStu(select * from stus, null);UpdateStu us=new UpdateStu(this, 修改学生信息, true,sm,id);/更新数据模型this.updStuModel();更多精品文档学习 - 好资料/* 这是我的一个 Stu 表的模型*/public class StuModel extends AbstractTableModel ResultSet rs;Vector cloumn;Vector row;SqlHelper sh;/ 查询数据public void queryStu(String sql, String args) / 中间的显示组件cloumn = new Vector();cloumn.add( 学生 ID);cloumn.add( 姓名 );cloumn.add( 年龄 );cloumn.add( 性别 );cloumn.add( 系别 );row = new Vector();sh = new SqlHelper();rs = sh.query(sql, args);try while (rs.next() Vector hang = new Vector();hang.add(rs.getInt(1);hang.add(rs.getString(2);hang.add(rs.getInt(3);hang.add(rs.getString(4);更多精品文档学习 - 好资料hang.add(rs.getString(5);row.add(hang); catch (Exception e) / TODO: handle exceptionsh.close();/ 增.删 .改操作public boolean updStu(String sql, String args) sh = new SqlHelper();return sh.updSQL(sql, args);Override/ 得到共有多少列public int getColumnCount() /Override/ 得到共有多少行public int getRowCount() /Override/ 得到某行某列的值public Object getValueAt(int rowIndex, int columnIndex) / TODO Auto-generated method stubOverridepublic String getColumnName(int index) /更多精品文档学习 - 好资料public class AddNewStu extends JDialog implements ActionListener / 定义 swing 组件JPanel top, bottom, left;JLabel stuID, stuName, stuAge, stuSex, stuDepart;JTextField id, name, age, sex, depart;JButton save, cancel;StuModel sm = null;/ 构造函数public AddNewStu(JFrame owner, String title, boolean modal) super(owner, title, modal);/ 创建组件top = new JPanel(new GridLayout(5, 1);left = new JPanel(new GridLayout(5, 1);stuID = new JLabel( 学生 ID, JLabel.CENTER);stuName = new JLabel( 姓名 , JLabel.CENTER);stuAge = new JLabel( 年龄 , JLabel.CENTER);stuSex = new JLabel( 性别 , JLabel.CENTER);stuDepart = new JLabel( 系别 , JLabel.CENTER);id = new JTextField(15);name = new JTextField(15);age = new JTextField(15);sex = new JTextField(15);depart = new JTextField(15);top.add(stuID);top.add(stuName);top.add(stuAge);top.add(stuSex);top.add(stuDepart);left.add(id);left.add(name);更多精品文档学习 - 好资料left.add(age);left.add(sex);left.add(depart);bottom = new JPanel();save = new JButton( 保存 );save.addActionListener(this);cancel = new JButton( 取消 );cancel.addActionListener(this);bottom.add(save);bottom.add(cancel);this.add(top, BorderLayout.CENTER);this.add(left, BorderLayout.EAST);this.add(bottom, BorderLayout.SOUTH);/ 设置窗体属性this.setSize(230, 200);this.setLocation(1000, 300);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if (e.getSource() = save) String values = id.getText().trim(), name.getText().trim(), age.getText().trim(), sex.getText().trim(), depart.getText().trim() ;String sql = insert into stus values(?,?,?,?,?);sm = new StuModel();sm.updStu(sql, values);this.dispose();else if(e.getSource()=cancel)this.dispose();更多精品文档学习 - 好资料public class UpdateStu extends JDialog implements ActionListener / 定义 swing 组件JPanel top, bottom, left;JLabel stuID, stuName, stuAge, stuSex, stuDepart;JTextField id, name, age, sex, depart;JButton save, cancel;StuModel sm = null;String values;/ 构造函数public UpdateStu(JFrame owner, String title, boolean modal, StuModel sm, int idValue) super(owner, title, modal);/ 创建组件top = new JPanel(new GridLayout(5, 1);left = new JPanel(new GridLayout(5, 1);stuID = new JLabel( 学生 ID, JLabel.CENTER);stuName = new JLabel( 姓名 , JLabel.CENTER);stuAge = new JLabel( 年龄 , JLabel.CENTER);stuSex = new JLabel( 性别 , JLabel.CENTER);stuDepart = new JLabel( 系别 , JLabel.CENTER);id = new JTextField(15);id.setText(sm.getValueAt(idValue, 0).toString();id.setEditable(false);name = new JTextField(15);name.setText(sm.getValueAt(idValue, 1).toString();更多精品文档学习 - 好资料age = new JTextField(15);age.setText(sm.getValueAt(idValue, 2).toString();sex = new JTextField(15);sex.setText(sm.getValueAt(idValue, 3).toString();depart = new JTextField(15);depart.setText(sm.getValueAt(idValue, 4).toString();top.add(stuID);top.add(stuName);top.add(stuAge);top.add(stuSex);top.add(stuDepart);left.add(id);left.add(name);left.add(age);left.add(sex);left.add(depart);bottom = new JPanel();save = new JButton( 保存 );save.addActionListener(this);cancel = new JButton( 取消 );cancel.addActionListener(this);bottom.add(save);bottom.add(cancel);this.add(top, BorderLayout.CENTER);this.add(left, BorderLayout.EAST);this.add(bottom, BorderLayout.SOUTH);/ 设置窗体属性this.setSize(230, 200);this.setLocation(1000, 300);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub更多精品文档学习 - 好资料if (e.getSource() = save) String values = name.getText().trim(), age.getText().trim(),sex.getText().trim(), depart.getText().trim(),id.getText().trim() ;String sql = update stus set stuName=?,stuAge=?,stuSex=?,stuDepart=? wherestuID=?;sm = new StuModel();sm.updStu(sql, values);this.dispose();else if(e.getSource()=cancel)this.dispose();更多精品文档学习 - 好资料/* 功能 :数据库操作模型*/public class SqlHelper / 连接数据库的组件Connection con;ResultSet rs;/ 构造函数 ,在调用 SqlHelper 类时 ,就自动建立连接public SqlHelper() / 建立数据库连接try Class.forName(DRIVER); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace();try con = DriverManager.getConnection(DBURL, DBUSRER, DBPWD); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/ 增.删 .改public boolean updSQL(String sql, String args) boolean b = true;try ps = con.prepareStatement(sql);更多精品文档学习 - 好资料for (int i = 0; i args.length; i+) ps.setString(i + 1), argsi);ps.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();this.close();return b;/ 查询public ResultSet query(String sql, String args) try ps = con.prepareStatement(sql);if (args = null) rs = ps.executeQuery(); else for (int i = 0; i args.length; i+) ps.setString(i + 1), argsi);rs = ps.executeQuery(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return rs;/ 关闭资源public void close() try if (rs != null)rs.close();更多精品文档学习 - 好资料if (ps != null)ps.close();if (con != null)con.close(); catch (SQLException e) e.printStackTrace();/ TODO: handle exception更多精品文档
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!