web网页设计报告_Web系统开发课程设计报告
Web系统开发课程设计报告 课 题:
学生信息管理系统 专 业:
数字媒体技术 班 级:
1708班 组 长:张(2010843) 组 员:张(200844) 樊(2017) 康(200840) 邓 (200809) 2020年6月10日 目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会和总结 23 五、代码 24 一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。
1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
1.3、查询学生基本信息的功能 可使用 “姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。
1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;
另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。
二、分析与设计 1、功能模块划分 学生信息管理系统 浏览学生信息 查询学生信息 添加学生信息 修改学生信息 删除学生信息 普通学生(用户)模块 班委(管理员)模块 浏览学生信息 查询学生信息 学生管理 登陆管理 修改登陆密码 显示登陆用户 图1 功能模块划分图 2、数据库结构描述 2.1、数据库E-R模型 登录用户管理 账号 密码 职位 图2 登录用户管理E-R图 学 生 总学分 出生地 年龄 专业 性别 姓名 学号 班级 图3 实体学生E-R图 2.2、数据库关系模型——二维表 表1 学生表(student) 字段 数据类型 说明 stuId nvarchar(30) 学号 stuName nvarchar(30) 姓名 stuSex nvarchar(30) 性别 stuAge int 年龄 stuJg nvarchar(30) 籍贯 stuZy nvarchar(30) 专业 classId nvarchar(30) 班号 stuSourse numeric(5,2) 总学分 图4 录入数据后的学生表 表2 登陆权限表(login) 字段 数据类型 说明 userId nvarchar(30) 用户名(账号),即登陆Id password nvarchar(30) 登陆密码 position nvarchar(30) 职位,如班委,普通学生 图5 录入数据后的登陆权限表 3、系统详细设计文档 3.1、系统执行流程图 进度条(闪屏) 用户登陆 登陆验证 false true 班委(管理员)界面 普通学生界面 查询 添加 修改 删除 查询 显示 班委(管理员 ) 普通学生(用户) 退出 退出系统 结束 结束 退出系统 true false false true 修改用户登陆密码 显示登陆用户信息 图6 系统执行流程图 3.2、类的划分 表3 学生信息查询类 类名 类的成员属性与方法 说明 StuQuery.java JPanel jp1 定义一个面板 JLabel jp1_jl1 定义两个标签 JTextField jp1_jtf1 定义一个文本输入框 JButton jp1_jb1,jp1_jb2,jp1_jb3 定义三个按钮 JTable jtb 定义一个表 JScrollPane jsp 定义一个滚动面板,用于存放表 TableModel tm 自定义一个表模型,用于更新表数据 public StuQuery(Frame Main,String title ,boolean model) 构造方法,通过传递三个参数,实现对话 super(Main,title,model) 调用父类的构造方法,实现模式对话 public void actionPerformed(ActionEvent arg0) 事件响应方法 表4 修改学生信息类 类名 类的成员属性与方法 说明 UpdateStu.java JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8 定义八个标签,用于设置数据库表的字段名 JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8 定义八个文本框,用于接收表的各字段值 JButton jb1,jb2,jb3 定义三个按钮,用于事件响应 public void addView() 这是修改学生界面的函数封装 public AddStu(Frame Main,String title,boolean model) 构造方法,通过传递三个参数,实现对话 super(Main,title,model) 调用父类的构造方法,实现模式对话 public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model) 因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row public void 事件响应方法 actionPerformed(ActionEvent e) 表5 修改管理人员信息类 类名 类的成员属性与方法 说明 UpdateLogin.java JLabel jl1,jl2,jl3 定义三个标签,即用户名,密码,职位 JTextField jtf1,jtf2,jtf3 定义三个文本框,对应三个标签的值 JButton jb1,jb2,jb3 定义三个按钮,用于事件响应 JTable jtb 定义一个表格,用于显示登陆用户信息 PurViewModel pvm 自定义登陆用户信息的数据更新模型 public void upView() 这是修改账户信息权限的界面函数的封装 public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model) 因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row super(Main,title,model) 调用父类的构造方法,实现模式对话 public void actionPerformed(ActionEvent e) 事件响应方法 表6表模式-更新数据 类名 类的成员属性与方法 说明 TableModel.java Vector rowData,row,column 定义表格所需要的集合(表,行,列) ResultSet rs 定义一个记录集,用于接收从数据库返回来的记录集 SqlConn conn 定义一个用于连接数据库的对象,SqlConn是连接数据库的类 public TableModel(String sql) 构造方法,并传一个SQL语句,实现查询操作 public String getColumnName(int column) 这是一个重写的方法,用于设置表的列名 public int getColumnCount() 得到数据模型记录集的列数 public int getRowCount() 得到数据模型记录集的行数 public Object getValueAt(int arg0, int arg1) 得到数据模型记录集某行某列的值 4、各个模块的实现方法描述 说明:此处只包含了个人完成的模块的实现方法描述 4.1、学生信息查询 学生信息查询窗口,采用了基于管理窗口,即主界面的对话框实现,实现方法如下:
1)定义查询所需要的面板和组件。
2)调用父类的构造方法,实现模式对话。
3)进行学生信息查询。
4.2、修改管理人员信息 修改管理人员信息的界面,通过模式对话,即继承JDialog对话框来实现的,实现方法如下:
1)定义修改学生信息的相关组件。
2)加载数据库,获得选中的那一行的所有信息。
3)把组件添加到窗体。
4)调用父类的构造方法,实现模式对话。
5)调用修改用户权限信息的界面的方法。
6)修改管理人员信息。
7)调用数据库连接,并设置操纵更新的sql语句。
4.3、修改学生信息 修改学生信息的界面,通过模式对话,即继承JDialog对话框来实现,实现方法如下:
1)定义修改学生信息的相关组件。
2)加载数据库,获得选中的那一行的所有信息。
3)把组件添加到窗体。
4)调用父类的构造方法,实现模式对话。
5)调用修改学生信息的界面的方法。
6)修改学生信息。
7)完成相应功能。
4.4、更新数据 这是一个表模型,用于数据更新,实现方法如下:
1)定义表格所需要的集合。
2)定义一个记录集,用于接收从数据库返回来的记录集。
3)定义一个用于连接数据库的对象。
4)设置表格的列名。
5)创建表的记录集。
6)调用数据库连接。
7)设置表的列名,并得到表的列数和行数。
8)得到某行某列的值。
5、测试数据及期望结果 5.1、学生信息查询数据测试及期望结果 数据测试及期望结果如下图:
图7为学生登录后的最初界面;
图8为学生查看所有信息界面;
图9为全部学生的信息记录(此处同时运用到了TableModel类);
图10则是实现了此处的查询功能,测试数据为:
姓名:肖立本 期望结果将显示以下数据:
学号:904325 姓名:肖立本 性别:男 年龄:23 出生地:安徽 专业:信息管理 班级:9040303 总学分:542.5 图7 学生信息管理系统 图8 学生信息管理系统-显示记录 图9 学生信息管理系统-显示所有信息 图10 学生信息管理系统-学生信息查询 5.2、修改管理人员数据测试及期望结果 数据测试及期望结果如下图:
图11将显示出所有管理人员信息。此处测试的数据为:
账号1:admin 密码1:admin 职位1:班委 账号2:user 密码2:user 职位2:普通学生 图12是弹出的修改密码窗口。此处可将密码admin修改为其它值。
图11 显示所有管理人员信息 图12 修改管理人员信息窗口 5.3、修改学生信息数据测试及期望结果 数据测试及期望结果如下图:
图13为全部学生的信息记录(此处同时运用到了TableModel类);
图14是弹出的修改学生信息窗口:
测试数据:姓名:杨明辉 期望结果:可修改姓名、性别、年龄、出生地、专业、班级和总学分。
图13 学生信息管理系统-显示所有信息 图14 修改学生信息窗口 三、系统测试 1、系统启动界面 图15 系统启动界面 2、用户登录界面 图16 用户登录界面 3、班委(管理员)界面,即具有完全权限的用户后台界面 图17 管理员界面 4、班委(管理员)界面子菜单项显示 图18 管理员界面子菜单-系统界面 图19 管理员界面子菜单-学生管理界面 图20 管理员界面子菜单-系统设置界面 5、学生信息查询界面 图21 学生信息查询 6、学生信息查询结果显示 图22 学生信息查询显示 7、添加学生信息界面 在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时:
图23 添加学生信息 8、修改学生信息界面(学号是主键,灰色显示,即不可更改) 图24 修改学生信息 9、显示所有学生信息 图25 显示所有信息 10、当没有选中一行的时候,不能修改和删除,并弹出提示警告框 图26 修改和删除警告框图 11、删除文件时的确认对话框(点击确认时会删除,点击取消,则返回主界面) 图27 删除学生确认对话框 12、显示所有登陆用户信息 图28 显示登录用户信息示意图 13、修改用户登陆密码,选中某个用户进行修改 图29 修改用户登录密码界面示意图 14、关闭用户记录,即不显示所有用户信息 图30 关闭用户记录示意图 15、关闭学生记录 图31 关闭学生记录示意图 16、退出系统确认对话框 只有确认时才会退出系统,否则返加主界面 图32 退出系统 17、普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户 密码修改,对应的这几项灰色显示,不可点击) 图33 学生登录界面(1) 图34 学生登录界面(2) 四、心得体会和总结 张星宇:这次课程设计使我对web系统开发有了进一步认识,同时加深了课堂上所学到的知识。在课程设计这一段时间,使我收获了很多在课上无法学习到的知识,尤其是需求分析和eclipse熟练的使用。因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,通过小组大家一起改写、调试,将这些困难都解决了。
张鑫瑀:通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以往所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道同时也发现有些已经学过的东西我们没有理解到位,不能灵活运用于大脑,不能很好的用来解决问题,这需要自己不断的大量的实践,通过不断的理解,不断地发现问题,思考问题,进而解决问题。
樊杨森:掌握使用前台程序设计技术VC++和Sql Server 结合设计C/S结构的管理信息系统。综合练习了Sql Server的使用和数据库得管理技术。综合熟悉并练习了SQL语言在编程中的使用。认识系统,取得系统需求分析,更重要的是在编程 方面提高了实现目标代码得能力及调试代码得能力。
康思成: 通过本次课程设计,我觉得不管做什么,始终都要相信自己。不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。进一步深入理解数据库设计的整个过程,该学生信息管理系统的需求分析、数据库概念结构设计有关内容等。同时提高了我的编程能力。
邓琦:在这个过程中我将深刻理解所学知识,同时也可以学到不少很实用的东西。如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己定要坚信目标。 从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们最个警钟, 我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想! 五、代码 1、功能:这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现 package com.View; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import com.Tools.MyFont; public class StuQuery extends JDialog implements ActionListener{ //定义查询所需要的面板和组件 JPanel jp1; JLabel jp1_jl1; JTextField jp1_jtf1; JButton jp1_jb1,jp1_jb2,jp1_jb3; JTable jtb; JScrollPane jsp; TableModel tm; public StuQuery(Frame Main,String title ,boolean model) { //调用父类的构造方法,实现模式对话 super(Main,title,model); jp1=new JPanel(); jp1_jl1=new JLabel(“请输入姓名:“); jp1_jl1.setFont(MyFont.f1); jp1_jtf1=new JTextField(15); jp1_jb1=new JButton(“查 询->“); jp1_jb1.setFont(MyFont.f1); jp1_jb1.addActionListener(this); jp1_jb2=new JButton(“清 除“); jp1_jb2.setFont(MyFont.f1); jp1_jb2.addActionListener(this); jp1_jb3=new JButton(“显示所有记录“); jp1_jb3.setFont(MyFont.f1); jp1_jb3.addActionListener(this); jp1.add(jp1_jl1); jp1.add(jp1_jtf1); jp1.add(jp1_jb1); jp1.add(jp1_jb2); jp1.add(jp1_jb3); jtb=new JTable(); jsp=new JScrollPane(jtb); this.add(jp1,“North“); this.add(jsp,“Center“); this.setSize(600,400); this.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub //如果点击了查询按钮 if(arg0.getSource()==jp1_jb1) { //获取文本框的值 String stuName=jp1_jtf1.getText().trim();//其中trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格 String sql=“select * from student where stuName='“+stuName+“'“; //调用模型 tm=new TableModel(sql); jtb.setModel(tm); } else if(arg0.getSource()==jp1_jb2) { jp1_jtf1.setText(““); } else if(arg0.getSource()==jp1_jb3) { tm=new TableModel(null); jtb.setModel(tm); } } } 2、功能:这是一个表模型,用于更新数据 package com.View; import com.SqlConnection.*;//引入数据库连接的包 import java.sql.*; import java.util.*; import javax.swing.table.AbstractTableModel; import com.SqlConnection.SqlConn; public class TableModel extends AbstractTableModel { //定义表格所需要的集合 Vector rowData,row,column; //定义一个记录集,用于接收从数据库返回来的记录集 ResultSet rs; //定义一个用于连接数据库的对象 SqlConn conn; public TableModel(String sql) { if(sql==null) { sql=“select * from student“; } //设置表格的列名 column=new Vector(); column.add(“学号“); column.add(“姓名“); column.add(“性别“); column.add(“年龄“); column.add(“出生地“); column.add(“专业“); column.add(“班级“); column.add(“总学分“); //创建表的记录集 rowData=new Vector(); //调用数据库连接 conn=new SqlConn(); rs=conn.sqlQuery(sql); try { while(rs.next()) { row=new Vector(); row.add(rs.getString(1)); row.add(rs.getString(2)); row.add(rs.getString(3)); row.add(rs.getString(4)); row.add(rs.getString(5)); row.add(rs.getString(6)); row.add(rs.getString(7)); row.add(rs.getString(8)); rowData.add(row); } } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } } @Override //设置表的列名 public String getColumnName(int column) { // TODO Auto-generated method stub return (String)this.column.get(column); } @Override //得到的列数 public int getColumnCount() { // TODO Auto-generated method stub return this.column.size(); } //得到的行数 @Override public int getRowCount() { // TODO Auto-generated method stub return this.rowData.size(); } @Override //得到某行某列的值 public Object getValueAt(int arg0, int arg1) { // TODO Auto-generated method stub return ((Vector)this.rowData.get(arg0)).get(arg1); } } 3、 功能:这是修改管理人员信息的界面,通过模式对话(即继承JDialog对话框)来实现 package com.View; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import com.SqlConnection.SqlConn; import com.Tools.MyFont; public class UpdateLogin extends JDialog implements ActionListener { //定义修改学生信息的相关组件 JLabel jl1,jl2,jl3; JTextField jtf1,jtf2,jtf3; JButton jb1,jb2,jb3; //这是修改账户信息权限的界面函数的封装 public void upView() { //加载数据库,获得选中的那一行的所有信息 jl1=new JLabel(“账 号:“); //因为账号是主键,设置文本框不可编辑的同时,一般也设置标签灰色显示,以区别其他标签 jl1.setEnabled(false); jl1.setBounds(20, 20, 60, 25); jl1.setFont(MyFont.f1); jl2=new JLabel(“密 码:“); jl2.setFont(MyFont.f1); jl2.setBounds(250, 20, 60, 25); jl3=new JLabel(“职 位:“); jl3.setEnabled(false); jl3.setFont(MyFont.f1); jl3.setBounds(20, 60, 60, 25); jtf1=new JTextField(20); //由于账号是主键,因此不能修改,即设置障碍曙jtf1不可编辑 jtf1.setEnabled(false); jtf1.setBounds(70, 20, 130, 25); jtf2=new JTextField(20); jtf2.setBounds(300, 20, 130, 25); jtf3=new JTextField(20); jtf3.setEnabled(false); jtf3.setBounds(70, 60, 130, 25); jb1=new JButton(“修 改“); jb1.setFont(MyFont.f1); jb1.setBounds(100, 100, 80, 25); jb1.addActionListener(this); jb2=new JButton(“取 消“); jb2.setFont(MyFont.f1); jb2.setBounds(280, 100, 80, 25); jb2.addActionListener(this); jb3=new JButton(“清 除“); jb3.setFont(MyFont.f1); jb3.setBounds(190,100,80,25); jb3.addActionListener(this); this.setLayout(null); //把组件添加到窗体 this.add(jl1); this.add(jtf1); this.add(jl2); this.add(jtf2); this.add(jl3); this.add(jtf3); this.add(jb1); this.add(jb2); this.add(jb3); } //因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model) { //调用父类的构造方法,实现模式对话 super(Main,title,model); //调用修改用户权限信息的界面的方法 this.upView(); //先从表模型中获取所选中的那一行数据 String userId=(String)pvm.getValueAt(rowNo, 0); System.out.println(“userId=“+userId); String password=(String)pvm.getValueAt(rowNo, 1); String position=(String)pvm.getValueAt(rowNo, 2); //设置广本框的值 jtf1.setText(userId); jtf2.setText(password); jtf3.setText(position); //设置窗体的属性 this.setSize(465,170); this.setVisible(true); this.setResizable(false); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //当点击了修改按钮 if(e.getSource()==jb1) { //获取文本框的信息 String userId=jtf1.getText().trim(); String password=jtf2.getText().trim(); String position=jtf3.getText().trim(); //调用数据库连接 //设置操纵更新的sql语句 String sql=“update login set password='“+password+“',position='“+position+“'where userId='“+userId+“'“; SqlConn sqlconn=new SqlConn(); sqlconn.sqlUpdate(sql); //关闭交资源 sqlconn.closeSqlConn(); //关闭与数据库连接的资源后,再关闭对话框,否则数据不能自动在表中更新显示出来 this.dispose(); } //如果点击了取消按钮,则关闭模式对话框 else if(e.getSource()==jb2) { this.dispose(); } //如果点击了清除按钮,则清除所有的广本框的内容,除了学号 else if(e.getSource()==jb3) { //由于账号是主键,则不能清空! jtf2.setText(““); } } } 4、功能:这是修改学生信息的界面,通过模式对话(即继承JDialog对话框)来实现 package com.View; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import com.SqlConnection.SqlConn; import com.Tools.MyFont; public class UpdateStu extends JDialog implements ActionListener { //定义修改学生信息的相关组件 JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8; JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8; JButton jb1,jb2,jb3; int stuAge=0; Double stuSourse=0.0; //这是修改学生信息的界面函数的封装 public void upView() { //加载数据库,获得选中的那一行的所有信息 jl1=new JLabel(“学 号:“); //因为学号是主键,设置文本框不可编辑的同时,一般也设置标签灰色显示,以区别其他标签 jl1.setEnabled(false); jl1.setBounds(20, 20, 60, 25); jl1.setFont(MyFont.f1); jl2=new JLabel(“姓 名:“); jl2.setFont(MyFont.f1); jl2.setBounds(250, 20, 60, 25); jl3=new JLabel(“性 别:“); jl3.setFont(MyFont.f1); jl3.setBounds(20, 60, 60, 25); jl4=new JLabel(“年 龄:“); jl4.setFont(MyFont.f1); jl4.setBounds(250, 60, 60, 25); jl5=new JLabel(“出生地:“); jl5.setFont(MyFont.f1); jl5.setBounds(14, 100, 60, 25); jl6=new JLabel(“专 业:“); jl6.setFont(MyFont.f1); jl6.setBounds(20, 140, 60, 25); jl7=new JLabel(“班 级:“); jl7.setFont(MyFont.f1); jl7.setBounds(20, 180, 60, 25); jl8=new JLabel(“总学分:“); jl8.setFont(MyFont.f1); jl8.setBounds(240, 180, 60, 25); jtf1=new JTextField(20); //由于学号是主键,因此不能修改,即设置障碍曙jtf1不可编辑 jtf1.setEnabled(false); jtf1.setBounds(70, 20, 130, 25); jtf1.setBorder(BorderFactory.createLoweredBevelBorder()); jtf2=new JTextField(20); jtf2.setBounds(300, 20, 130, 25); jtf2.setBorder(BorderFactory.createLoweredBevelBorder()); jtf3=new JTextField(10); jtf3.setBounds(70, 60, 60, 25); jtf3.setBorder(BorderFactory.createLoweredBevelBorder()); jtf4=new JTextField(10); jtf4.setBounds(300, 60, 60, 25); jtf4.setBorder(BorderFactory.createLoweredBevelBorder()); jtf5=new JTextField(30); jtf5.setBounds(70, 100, 360, 25); jtf5.setBorder(BorderFactory.createLoweredBevelBorder()); jtf6=new JTextField(20); jtf6.setBounds(70, 140, 290, 25); jtf6.setBorder(BorderFactory.createLoweredBevelBorder()); jtf7=new JTextField(20); jtf7.setBounds(70, 180, 130, 25); jtf7.setBorder(BorderFactory.createLoweredBevelBorder()); jtf8=new JTextField(20); jtf8.setBounds(300, 180, 130, 25); jtf8.setBorder(BorderFactory.createLoweredBevelBorder()); jb1=new JButton(“修 改“); jb1.setFont(MyFont.f1); jb1.setBounds(100, 220, 80, 25); jb1.addActionListener(this); jb2=new JButton(“取 消“); jb2.setFont(MyFont.f1); jb2.setBounds(280, 220, 80, 25); jb2.addActionListener(this); jb3=new JButton(“清 除“); jb3.setFont(MyFont.f1); jb3.setBounds(190,220,80,25); jb3.addActionListener(this); this.setLayout(null); //把组件添加到窗体 this.add(jl1); this.add(jtf1); this.add(jl2); this.add(jtf2); this.add(jl3); this.add(jtf3); this.add(jl4); this.add(jtf4); this.add(jl5); this.add(jtf5); this.add(jl6); this.add(jtf6); this.add(jl7); this.add(jtf7); this.add(jl8); this.add(jtf8); this.add(jb1); this.add(jb2); this.add(jb3); } //因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model) { //调用父类的构造方法,实现模式对话 super(Main,title,model); //调用修改学生信息的界面的方法 this.upView(); //先从表模型中获取所选中的那一行数据 String stuId=(String)tm.getValueAt(rowNo, 0); System.out.println(“sutId=“+stuId); String stuName=(String)tm.getValueAt(rowNo, 1); String stuSex=(String)tm.getValueAt(rowNo, 2); String stuAge=(String)tm.getValueAt(rowNo, 3); String stuJg=(String)tm.getValueAt(rowNo, 4); String stuZy=(String)tm.getValueAt(rowNo, 5); String classId=(String)tm.getValueAt(rowNo, 6); String stuSourse=(String)tm.getValueAt(rowNo, 7); //设置文本框的默认值 jtf1.setText(stuId); jtf2.setText(stuName); jtf3.setText(stuSex); jtf4.setText(stuAge); jtf5.setText(stuJg); jtf6.setText(stuZy); jtf7.setText(classId); jtf8.setText(stuSourse); //设置窗体的属性 this.setSize(465,300); this.getContentPane().setBackground(Color.LIGHT_GRAY); this.setVisible(true); this.setResizable(false); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //当点击了修改按钮 if(e.getSource()==jb1) { //获取文本框的信息 String stuId=jtf1.getText().trim(); String stuName=jtf2.getText().trim(); if(stuName.equals(““)) { JOptionPane.showMessageDialog(this, “请输入姓名!“); return;//返回到输入界面,如果没有return语句,则会回到主界面 } String stuSex=jtf3.getText().trim(); if(stuSex.equals(““)) { JOptionPane.showMessageDialog(this, “请输入性别!“); return;//返回到输入界面,如果没有return语句,则会回到主界面 } ////对于年龄,则需要进行两个判断,一个是不能为空,另一个必须是int型,下面用异常来判断输入的学生年龄是否是整型数 //******************************************// try { stuAge=Integer.parseInt(jtf4.getText().trim());//把从文本框取得的字符串转换成整型,如果抛异常,则输入的不是整形数 if(stuAge<1) { JOptionPane.showMessageDialog(this, “年龄必须大于或等于1!“); return; } } catch (Exception e2) { //提示输入的不是整数 JOptionPane.showMessageDialog(this, “请输入一个整数的年龄!“); //如果抛异常,则返回到添加窗口,后面终止执行******************************// return; // TODO: handle exception } //*******************************************************************// String stuJg=jtf5.getText().trim(); if(stuJg.equals(““)) { JOptionPane.showMessageDialog(this, “请输入出生地!“); return;//返回到输入界面,如果没有return语句,则会回到主界面 } String stuZy=jtf6.getText().trim(); if(stuZy.equals(““))
相关热词搜索:课程设计 报告 开发 Web系统开发课程设计报告 web网页设计报告 web课程设计实验报告
- 范文大全
- 说说大全
- 学习资料
- 语录
- 生肖
- 解梦
- 十二星座
-
主题党日活动交流发言8篇
主题党日活动交流发言8篇主题党日活动交流发言篇13月13日,东城区党史学习教育动员大会召开。市委
【活动总结】 日期:2022-12-23
-
家乡赋|最美的家乡赋
家乡赋 孙传志 今安康市,白河双丰镇,吾之家乡也。三环沃土,山水环抱。其北依山,山系五岭,山
【调研报告】 日期:2020-04-01
-
【人教版1-6年级数学上册知识点精编】1-6年级数学人教版教材
人教版二年级数学上册知识点汇总第一单元长度单位一、米和厘米1、测量物体的长度时,要用统一的标准去测量
【调研报告】 日期:2020-11-08
-
2022年2月份主题党日活动记录5篇
2022年2月份主题党日活动记录5篇2022年2月份主题党日活动记录篇1尊敬的党组织:在今年的开学初,本人积极参加教研室组织的教研活动,在学校教研员的指
【活动总结】 日期:2022-08-12
-
党支部1-12月全年主题党日活动计划表
2022年党支部主题党日活动计划表序号活动时间活动方式活动内容12022年1月专题学习研讨集中观看2022年新年贺词,积极开展学习研讨交流。组织生活会组织党员认真对照党章...
【活动总结】 日期:2022-10-14
-
2023年平安校园建设方案13篇
平安校园建设方案“平安校园”创建工作,我们幼儿园全体教职员工一直把它当作头等大事来抓。领导高度重视,以“平安校园”创建活动为抓手,建立和规范校园安全工作机制
【规章制度】 日期:2023-11-02
-
医院最佳主题党日活动11篇
医院最佳主题党日活动11篇医院最佳主题党日活动篇1 医院最佳主题党日活动篇2为隆重纪念中国共产党成立100周年,进一步巩固党的群众路线教育实践活动成果,切实
【活动总结】 日期:2022-10-29
-
主题党日活动记录202210篇
主题党日活动记录202210篇主题党日活动记录2022篇12021年是中国共产党成立100周年,为广泛开展爱国主义宣传教育,铭记党的历史,讴歌党的光辉历程,
【活动总结】 日期:2022-08-02
-
少先队的光荣历史故事 队前教育-光辉历程
2017-2018学年队前教育1光辉历程一、劳动童子团1924——1927二、三十年代年的中国是一个
【法律文书】 日期:2020-06-23
-
南京大屠杀国家公祭日悼念文案句子11篇
南京大屠杀国家公祭日悼念文案精选句子1、惟有民魂是值得宝贵的,惟有他发扬起来,中国才有真进步。——鲁迅2、我爱我的祖国,爱我的人民,离开了它,离开了他们,我
【企划文案】 日期:2023-10-20
-
一年级新学期目标简短_一年级学生新学期打算
新学期到了,我是一年级下册的小学生了。 上课的时候,我要认真学习,不做小动作,认真听讲。我要认真学习,天天向上,努力学习,耳朵要听老师讲课,眼睛要瞪得大大的看老...
【简历资料】 日期:2019-10-26
-
[信访复查复核制度作用探讨]信访复查复核有用吗
作为我国特有的一项制度,信访制度的出现并长期存在不是偶然的,虽然一些法学专家认为信访制度具有“人治”
【职场指南】 日期:2020-02-16
-
[党员干部2019年主题教育个人问题检视清单及整改措施2篇] 党员干部
2019年主题教育问题检视清单及整改措施根据主题教育领导小组办公室《关于认真做好主题教育检视问题整改
【求职简历】 日期:2019-11-08
-
民族团结的素材资料13篇
民族团结的素材资料13篇民族团结的素材资料篇1研究进一步推进新疆社会稳定和长治久安工作。会议指出,要全面贯彻执行党的民族政策,把民族团结作为各族人民的生命线
【简历资料】 日期:2022-08-16
-
网络维护工作内容_(精华)国家开放大学电大专科《网络系统管理与维护》形考任务1答案
国家开放大学电大专科《网络系统管理与维护》形考任务1答案形考任务1理解上网行为管理软件的功能【实训目
【职场指南】 日期:2020-07-17
-
红旗颂朗诵稿原文【《红旗颂》朗诵词】
《红旗颂》朗诵词 女:晴空万里,红旗飘扬, 六十载风云,我们昂首阔步。 男:六十个春秋,
【职场指南】 日期:2020-02-16
-
党委会与局长办公会的区别_局长办公会制度
为进一步加强xxx局工作的规范化、制度化建设,提高行政效能,规范议事程序,特制定本制度。一、会议形式1、局长办公会议由局长、副局长参加。由局长召集和主持。根据工作需要...
【求职简历】 日期:2019-07-30
-
《国行公祭,为佑世界和平》课文原文阅读_国行公祭为佑世界和平每段段意
国行公祭,为佑世界和平钟声“国行公祭,法立典章。铸兹宝鼎,祀我国殇。”侵华日军南京大屠杀遇难同胞纪念
【简历资料】 日期:2020-11-28
-
如何凝心聚力谋发展【坚定信心谋发展凝心聚力促跨越】
当前,清河正处于在苏北实现赶超跨越基础上全面腾飞的战略机遇期,处于在全市率先实现全面小康基础上率先实
【简历资料】 日期:2020-03-17
-
《铁拳砸碎“黑警伞”》警示教育片观后感
影片深刻剖析了广西北海市公安局海西派出所原所长张枭杰蜕变堕落的轨迹。观看警示教育片后,做为一名党员教
【简历资料】 日期:2020-08-17
-
2022年公文写作和政务信息讲义(2022年)
公文写作和政务信息讲义公文写作写材料不是搞高科技,只要你能具备一有两肯的素质,你就必然具备写好材料的潜质,当然一定的写作文字基本功是前提。一有两肯,就是要有悟性,...
【其他范文】 日期:2022-09-02
-
中国式现代化视域下智慧赋能教育治理的路径研究
叶雯,刘岳(长沙职业技术学院,湖南长沙430001)中国式现代化理论的提出,为教育治理现代化指明了未
【其他范文】 日期:2023-07-01
-
教师个人周工作小结 教师周工作总结
一周值周工作在各位老师的积极配合支持下圆满的结束了。通过值周使我感慨万千,了解了班主任们的艰辛和不易。由于个人的观察能力有限,如有不足之处恳请大家谅解。 一...
【口号大全】 日期:2019-08-05
-
在全市三级党组织书记集训会上讲话
在全市三级党组织书记集训会上的讲话为深入学习贯彻习近平新时代中国特色社会主义思想,扎实推进新时代XX机关党的建设,进一步统一思想、理清思路,明确任务、落实责任,经XXX...
【其他范文】 日期:2022-09-18
-
2022公文写作提纲(国企党建)(范文推荐)
公文写作提纲(国企党建)1 党建“红色引擎”激发强劲“红色动能”一是政治引领力举好“指挥棒”。以“全程领导、全程参与、全程推进、全程落实”的“四个全程”,切实将党建...
【其他范文】 日期:2022-08-01
-
丹参多酚酸盐对老年急性心肌梗死患者经皮冠状动脉介入术后炎症反应和血管内皮功能的影响
张艳,陈楠,张明明,魏小云(郑州人民医院a 药学部;b 心血管内科,河南郑州450000)急性心肌梗
【其他范文】 日期:2023-01-27
-
安全会议讲话稿范文五篇
做好安全工作任务繁重,责任重大,意义深远。希望大家切实增强政治意识、大局意识、责任意识和忧患意识,居
【导游词】 日期:2020-01-13
-
在清明节期间森林防火工作上的讲话
下面是小编为大家整理的在清明节期间森林防火工作上的讲话1
【其他范文】 日期:2022-08-08
-
2022年度实训总结万能版
当前位置:>>2021-10-03通过这次实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本站今天为大家精心准备...
【其他范文】 日期:2022-08-16
-
国外关于年轻人交通安全宣教措施的有效性研究
文|汶爱萍在西方国家的道路交通事故中,年轻驾驶人(尤其是取得驾驶证仅一年的)所占比例偏高。研究发现,
【其他范文】 日期:2023-01-24
-
军转座谈会交流发言4篇
军转座谈会交流发言4篇军转座谈会交流发言篇1大家好,我叫贺丽,2015届选调生,来自康定市委组织部,现在省委编办跟班学习。今天,非常荣幸向大家汇报我的学习收
【发言稿】 日期:2022-10-27
-
理论中心组学习总体国家安全观发言材料9篇
理论中心组学习总体国家安全观发言材料9篇理论中心组学习总体国家安全观发言材料篇1(八)深入学习贯彻中央以及省的重要会议和文件精神深入学习贯彻年度内中央以
【发言稿】 日期:2022-08-04
-
12岁生日小寿星发言4篇
12岁生日小寿星发言4篇12岁生日小寿星发言篇1各位来宾、各位朋友:大家好!今天,我们欢聚在这里,共同庆祝**十二周岁生日。首先,我代表**的父母以
【发言稿】 日期:2022-07-31
-
党内警告处分党员讨论发言3篇
党内警告处分党员讨论发言3篇党内警告处分党员讨论发言篇1大家好!作为新时期的一名大学生,认真学习、深刻领会、全面贯彻省党代会精神,是当前和今后一个时期重
【发言稿】 日期:2022-08-07
-
2023年今日新闻摘抄十条3篇
今日新闻摘抄十条大家一定记得七月初时的洪水,那可是轰动一时的大事呢!抗洪救灾的官兵跑在了前线,大家也在密切关注着动向。突如其来的洪水是很多人措手不及,瞬间就
【贺词】 日期:2023-10-14
-
廉政大会总结发言稿7篇
廉政大会总结发言稿7篇廉政大会总结发言稿篇1各位领导,同志们:根据会议安排,我就党风廉政建设工作做表态发言,不妥之处,请批评指正。一、提高认识,切实
【发言稿】 日期:2022-10-30
-
被约谈的表态发言8篇
被约谈的表态发言8篇被约谈的表态发言篇1各位领导、各位党员大家好:这天我能站在鲜红的党旗下,
【发言稿】 日期:2022-12-24
-
【企业疫情风险控制方案】 2020企业复工疫情方案
企业疫情风险控制方案2020新冠病毒肺炎疫情防控工作总结汇报3篇 关于新型冠状病毒感染的肺炎疫
【演讲稿】 日期:2020-02-27
-
我最敬佩的人开头_我敬佩的一个人作文20篇2020年
我敬佩的一个人作文20篇 我敬佩的一个人作文一): 我身边有很多值得我们敬佩的人,但我最敬佩的一
【发言稿】 日期:2020-11-10
-
巡察整改专题民主生活会总结发言8篇
巡察整改专题民主生活会总结发言8篇巡察整改专题民主生活会总结发言篇1按照区委统一部署和纪监委、巡察办关于召开党史学习教育专题组织生活会的工作安排,近期我紧贴
【发言稿】 日期:2022-10-12
-
2023年中国行政区划调整方案(设想优秀3篇
中国行政区划调整方案(设想优秀民政部第二次行政区划研讨会会议内容一、缩省的意义与原则1.意义1)利于减少中间层次中国行政区划层级之多为世界之最,既使管理成本
【周公解梦】 日期:2024-02-20
-
学习周永开先进事迹心得体会3篇
学习周永开先进事迹心得体会【一】通过学习周永开老先生先进事迹后,结合自己工作思考,感慨万千。同样作为
【格言】 日期:2021-04-10
-
XX老干局推进党建与业务深度融合发展工作情况调研报告:党建调研报告
XX老干局推进党建与业务深度融合 发展工作情况的调研报告 党建工作与业务工作融合发展始终是一个充满生
【成语大全】 日期:2020-08-28
-
中国共产党第三代中央领导集体的卓越贡献
中国共产党第三代中央领导集体的卓越贡献 --------------继往开来铸就辉煌 【摘要】改
【成语大全】 日期:2020-03-20
-
信息技术2.0能力点 [全国中小学教师信息技术应用能力提升工程试题题库及参考答案「精编」]
全国中小学教师信息技术应用能力提升工程试题题库及答案(复习资料)一、判断题题库(A为正确,B为错误)
【格言】 日期:2020-11-17
-
党建工作运行机制内容有哪些_构建基层党建工作运行机制探讨
党的基层组织是党在社会基层组织中的战斗堡垒,是党的全部工作和战斗力的基础。加强和改进县级以下各类党的
【经典阅读】 日期:2020-01-22
-
集合推理_七,推理与集合
七推理与集合1 期中考试数学成绩出来了,三个好朋友分别考了88分,92分,95分。他们分别考了多少分
【名人名言】 日期:2020-12-18
-
电大现代教育原理_最新国家开放大学电大《现代教育原理》形考任务2试题及答案
最新国家开放大学电大《现代教育原理》形考任务2试题及答案形考任务二一、多项选择题(共17道试题,共3
【成语大全】 日期:2020-07-20
-
基层党务工作基本内容_党建基本工作有哪些
党建基本工作有哪些(一) 基层党建工作包括哪些内容 选择了大学生村官这条路,你就与农村基层党
【名人名言】 日期:2020-08-06
-
【2020-2021学年高一英语外研版(2019)选择性必修第一册Unit3Faster,higher,strongerSectionⅠ导学讲义】
Unit3 Faster,higher,stronger背景导学MichaelJordan—Head
【歇后语】 日期:2021-04-19
-
关于三农工作重要论述心得体会3篇
关于三农工作重要论述心得体会3篇关于三农工作重要论述心得体会篇1习近平总书记指出:“建设现代化国家离不开农业农村现代化,要继续巩固脱贫攻坚成果,扎实推进乡村
【学习心得体会】 日期:2022-10-29
-
【福生庄隧道坍塌处理方案】 福生庄隧道在哪里
(呼和浩特铁路局大包电气化改造工程指挥部,内蒙古呼和浩特010050)摘要:文章介绍了福生庄隧道
【学习心得体会】 日期:2020-03-05
-
五个一百工程阅读心得体会13篇
五个一百工程阅读心得体会13篇五个一百工程阅读心得体会篇1凡益之道,与时偕行。在全国网络安全和信
【学习心得体会】 日期:2022-12-07
-
双拥手抄报内容 [双拥标语300则]
双拥标语300则 1、开展双拥共建,构建和木垒。 2、坚持党对军队的绝对领导,走中国特色的精兵之
【培训心得体会】 日期:2021-10-27
-
城管系统警示教育心得体会9篇
城管系统警示教育心得体会9篇城管系统警示教育心得体会篇1各党支部要召开多种形式的庆七一座谈会,组织广大党员进行座谈,回顾党的光辉历程,畅谈党的丰功伟绩,
【学习心得体会】 日期:2022-10-09
-
发展对象培训主要内容10篇
发展对象培训主要内容10篇发展对象培训主要内容篇1怀着无比激动的心情,我有幸参加了__新区区委党校20__年第四期(区级机关)党员发展对象培训班。这次的学习
【培训心得体会】 日期:2022-09-24
-
2022年全国检察长会议心得7篇
2022年全国检察长会议心得7篇2022年全国检察长会议心得篇1眼睛是心灵上的窗户,我们通过眼睛才能看到世间万物,才能看到眼前这美好的一切。拥有一双明亮的眼
【学习心得体会】 日期:2022-10-31
-
全面从严治党的心得体会800字7篇
全面从严治党的心得体会800字7篇全面从严治党的心得体会800字篇1中国特色社会主义是我们党领导
【学习心得体会】 日期:2022-12-14
-
两会医护人员心得体会8篇
两会医护人员心得体会8篇两会医护人员心得体会篇120xx年春节,新型冠状病毒肺炎,以迅雷不及掩耳之势,席卷而来。国事家事天下事,因与自身生命安全息息相关,自
【学习心得体会】 日期:2022-10-27
-
2月教师党员个人思想汇报5篇
2月教师党员个人思想汇报敬爱的党组织:最近这一个月的时间对于我来说是极不平凡的,在这段时间里我认真学习了文化部网上党校的相关内容,经过长达40小时的
【教师心得体会】 日期:2023-10-15
-
2024年主题教育民主生活会批评与自我批评意见(38条)(范文推荐)
2023年主题教育民主生活会六个方面个人检视、相互批评意见:1 理论学习系统性不强。学习习近平新时代中国特色社会主义思想不深不透,泛泛而学的时候多,深学细照的时候少,特...
【邓小平理论】 日期:2024-03-19
-
2024年交流发言:强化思想理论武装,增强奋进力量(完整)
习近平总书记指出:“一个民族要走在时代前列,就一刻不能没有理论思维,一刻不能没有思想指引。”党的十八大以来,伴随着新时代中国特色社会主义思想在实践中形成发展的历程...
【三个代表】 日期:2024-03-19
-
2024年度镇年度县乡人大代表述职评议活动总结
xx镇20xx年县乡人大代表述职评议活动总结为响应县级人大常委会关于开展县乡两级人大代表述职评议活动,进一步激发代表履职活力,加强代表与人民群众的联系,提高依法履职水平...
【马克思主义】 日期:2024-03-19
-
“千万工程”经验学习体会(研讨材料)
“千万工程”是总书记在浙江工作时亲自谋划、亲自部署、亲自推动的一项重大决策,也是习近平新时代中国特色社会主义思想在之江大地的生动实践。20年来,“千万工程”先后经历...
【三个代表】 日期:2024-03-19
-
2024年在市政协机关工作总结会议上讲话
同志们:刚才,XX同志对市政协机关20XX年工作进行了很好的总结,很精炼,很到位,可以感受到去年机关工作确实可圈可点。XX同志宣读了表彰决定,机关优秀人员代表、先进集体代...
【邓小平理论】 日期:2024-03-18
-
在全区防汛防涝动员暨河长制工作推进会上讲话提纲【完整版】
区长,各位领导,同志们:汛期已经来临,我区城区防涝工作面临强大考验,形势不容乐观。年初,区城区防涝排渍指挥部已经召开专题调度会,修订完善应急预案,建立网格化管理机...
【马克思主义】 日期:2024-03-18
-
2024年镇作风整治工作实施方案(完整文档)
XX镇作风整治工作实施方案为深入贯彻落实党的二十大精神及省市区委深化作风建设的最新要求,突出重点推进干部效能提升,坚持不懈推动作风整治工作纵深发展,根据《关于印发《2...
【毛泽东思想】 日期:2024-03-18
-
2024市优化法治化营商环境规范涉企行政执法实施方案【优秀范文】
xx市优化法治化营商环境规范涉企行政执法实施方案为持续优化法治化营商环境,激发市场主体活力和社会创造力,规范行政执法行为,创新行政执法方式,提升行政执法质效,着力解...
【毛泽东思想】 日期:2024-03-18
-
2024年度关于开展新一轮思想状况摸底排查工作通知(完整)
关于开展新一轮思想状况摸底排查工作的通知为深入贯彻落实关于各地开展干部职工思想状况大摸底大排查情况上的批示要求和改革教育第二次调度会议精神,有针对性做好队伍教育管...
【三个代表】 日期:2024-03-18
-
2024年公路养护中心主任典型事迹材料(完整文档)
“中心的工作就是心中的事业”——公路养护中心主任典型事迹材料**,男,1976年6月出生,1993年参加工作,2000年4月调入**区交通运输局工作,大学本科学历,中共党员,现任**...
【马克思主义】 日期:2024-03-17