版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*大 学学 生 实 验 报 告实验课程名称 j2ee及java程序设计 开课实验室 ds1501 学 院 软件学院 年级 2012 专业班 1 班 学 生 姓 名 学 号 开 课 时 间 2013 至 2014 学年第 2 学期总 成 绩教师签名软件学院制j2ee及java程序设计实验报告 开课实验室:ds1501 2014 年 6 月22日学院软件学院年级、专业、班12级1班姓名成绩课程名称j2ee及java程序设计实验项目名 称实验6-8: 图形界面编程、抽象类与接口、数据库。指导教师教师评语教师签名:2014年 月 日一、 实验目的实验六:基本掌握使用java来完成基本的图形界面等调试与
2、编程,实现理论课上讲述的内容ppt内容的验证。实验七:掌握抽象类与接口的概念,验证代码,能写小程序。实验八:掌握利用java完成数据库课程中的基本数据记录操作。二、实验内容实验六内容:调试,验证,课件ppt内容,课后布置的作业(实验报告内容中可不写)。实验七内容:完成教材12章关于抽象类与接口方面的范例内容的代码验证、后面作业的代码设计(实验报告中可不写)。实验八内容:(二选一,提交该部分实验报告内容)1) 利用图形界面编程,实现c/s模式的数据库访问操作。完成sql server或mysql数据库管理系统的安装,配置,java数据库访问环境的配置;完成数据库表的建立,记录插入等;建立用户表,
3、包含用户名、密码字段;利用java实现图形界面,用户登录验证,进入软件运行后,针对某表记录的增、删、改、查操作。2) 完成java web应用开发,实现b/s模式的数据库访问操作。完成sql server或mysql数据库管理系统的安装,配置,java数据库访问环境的配置,tomcat服务器安装配置;完成数据库表的建立,记录插入等;建立用户表,包含用户名、密码字段;利用java实现web应用,通过浏览器访问web进行用户登录验证,进入web应用运行后,针对某表记录的增、删、改、查操作。三、使用仪器、材料java se jdk 1.7.55tomcatmysql/sql server四、实验过程
4、原始记录(数据、图表、计算等):学生基本信息表班级信息表院系信息表用户表学生综合信息视图用户登录进入主界面点击“更新”菜单中的“对全体操作”选项,然后点击“查询”按钮 点击“更新”菜单中的“添加”选项查询发现新增信息已经插入至学生基本信息表中点击“查询”中的“按姓名查询”选项,可根据视图查询学生包括系主任、班主任在内的的综合信息同理,点击“查询”中的“按学号查询”选项,也可根据视图查询上述信息点击“更新”菜单中的“对全体操作”选项,在所得信息表对信息中进行修改,然后点击“修改”按钮,可对学生基本信息进行修改点击“更新”菜单中的“对全体操作”选项,然后点击“删除”按钮,可删除某学生基本信息同于重
5、名学生的存在,“查询”菜单中的“按姓名查询”可能会出现多条结果点击“更新”菜单中的“按学号删除”选项,输入上述所查得的两个重名学生中其一个的学号,可将其删除连接数据库:import java.sql.*; /创建数据库连接类 public class dbconnect /静态方法提高数据库的连接效率 public static connection getconn() throws exception /加载jdbc 驱动 class.forname(sun.jdbc.odbc.jdbcodbcdriver); /以系统用户身份,连接数据库 studentmanager return dri
6、vermanager.getconnection(jdbc:odbc:studentmanager,sh,123); 登录:import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; /创建主界面类 public class login extends jframe implements actionlistener /声明连接数据库对象 connection con; /声明sql语句对象 statement st; /创建内容面板 jpanel contentpane; jlabe
7、l jlabel1=new jlabel(用户名:); jtextfield jtextfield1=new jtextfield(); jlabel jlabel2=new jlabel(密码:); jtextfield jtextfield2=new jpasswordfield(20); jbutton jbutton1=new jbutton(登录); jbutton jbutton2=new jbutton(取消); /构造方法,创建对象时自动调用 public login() try /连接数据库 con=dbconnect.getconn(); st=con.createstat
8、ement(); /关闭框架窗口时的默认事件方法 setdefaultcloseoperation(exit_on_close); /调用初始化方法 jbinit(); catch(exception exception) exception.printstacktrace(); /界面初始化方法 private void jbinit() throws exception /创建内容面板和其布局 contentpane =(jpanel) getcontentpane(); contentpane.setlayout(null); /框架的大小和其标题 setsize(new dimensi
9、on(360,270); settitle(学生信息管理系统); contentpane.add(jlabel1); contentpane.add(jlabel2); contentpane.add(jbutton1); contentpane.add(jbutton2); contentpane.add(jtextfield1); contentpane.add(jtextfield2); jlabel1.setbounds(new rectangle(27,9,81,32); jlabel2.setbounds(new rectangle(27,72,81,32); jtextfield
10、1.setbounds(new rectangle(81,9,222,32); jtextfield2.setbounds(new rectangle(81,72,222,32); jbutton1.setbounds(new rectangle(18,162,145,32); jbutton2.setbounds(new rectangle(166,162,145,32); /添加事件监听器 jbutton1.addactionlistener(this); jbutton2.addactionlistener(this); /菜单事件的处理方法 public void actionperf
11、ormed(actionevent e1) if (e1.getsource()=jbutton1) /获取用户输入的用户名和密码 string uer=jtextfield1.gettext(); string pas=jtextfield2.gettext(); try resultset rs=st.executequery(select uname,upass from users where uname=+uer+); while(rs.next() string i=rs.getstring(uname); string p=rs.getstring(upass); if(i.eq
12、uals(uer)&p.equals(pas) setvisible(false); mainframe add=new mainframe(); /令主界面窗体居中 dimension screensize=toolkit.getdefaulttoolkit().getscreensize(); dimension framesize =add.getsize(); if(framesize.heightscreensize.height) framesize.height=screensize.height; if(framesize.widthscreensize.width) fram
13、esize.width=screensize.width; add.setlocation(screensize.width-framesize.width)/2,(screensize.height-framesize.height)/2); add.setvisible(true); break; else joptionpane.showmessagedialog(this,用户名或密码错误!); catch(exception ex) /利用消息对话框提示查询失败 joptionpane.showmessagedialog(this,登录失败!); else if (e1.getsou
14、rce()=jbutton2) system.exit(0); 主面板:import java.awt.*; import java.awt.event.*; import javax.swing.*; /创建主界面类 public class mainframe extends jframe implements actionlistener /创建内容面板 jpanel contentpane; jmenubar jmenubar1=new jmenubar(); jmenu jmenufile=new jmenu(文件); jmenuitem jmenufileexit=new jmen
15、uitem(退出); jmenu jmenu1=new jmenu(更新); jmenuitem jmenuitem1=new jmenuitem(添加学生信息); jmenuitem jmenuitem2=new jmenuitem(按学号删除); jmenuitem jmenuitem5=new jmenuitem(对全体操作); jmenu jmenu2=new jmenu(查询); jmenuitem jmenuitem3=new jmenuitem(按姓名查询); jmenuitem jmenuitem4=new jmenuitem(按学号查询); jmenu jmenuhelp=n
16、ew jmenu(帮助); jmenuitem jmenuhelpabout=new jmenuitem(关于); jlabel jlabel1=new jlabel(欢迎使用学生信息管理系统); jlabel jlabel2=new jlabel(by: ); /构造方法,创建对象时自动调用 public mainframe() try /关闭框架窗口时的默认事件方法 setdefaultcloseoperation(exit_on_close); /调用初始化方法 jbinit(); catch(exception exception) exception.printstacktrace(
17、); /界面初始化方法 private void jbinit() throws exception /创建内容面板和其布局 contentpane =(jpanel) getcontentpane(); contentpane.setlayout(null); /框架的大小和其标题 setsize(new dimension(400,450); settitle(学生信息管理系统); /添加事件监听器 jmenufileexit.addactionlistener(this); jmenuhelpabout.addactionlistener(this); jmenuitem1.addact
18、ionlistener(this); jmenuitem2.addactionlistener(this); jmenuitem3.addactionlistener(this); jmenuitem4.addactionlistener(this); jmenuitem5.addactionlistener(this); /添加菜单条 setjmenubar(jmenubar1); /添加菜单组件到菜单条 jmenubar1.add(jmenufile); jmenubar1.add(jmenu1); jmenubar1.add(jmenu2); jmenubar1.add(jmenufil
19、eexit); jmenubar1.add(jmenuhelp); /添加菜单项组件到菜单组件 jmenufile.add(jmenufileexit); jmenuhelp.add(jmenuhelpabout); jmenu1.add(jmenuitem1); jmenu1.add(jmenuitem2); jmenu1.add(jmenuitem5); jmenu2.add(jmenuitem3); jmenu2.add(jmenuitem4); /添加标签到内容面板 contentpane.add(jlabel1); contentpane.add(jlabel2); /设置标签组件的
20、大小和字体 jlabel1.setfont(new java.awt.font(宋体,font.bold,22); jlabel1.setbounds(new rectangle(45,135,279,55); jlabel2.setfont(new java.awt.font(宋体,font.bold,16); jlabel2.setbounds(new rectangle(211,350,200,35); /菜单事件的处理方法 public void actionperformed(actionevent actionevent) /点击“文件”菜单下的“退出”菜单项 if(actione
21、vent.getsource()=jmenufileexit) system.exit(0); /点击“更新”菜单下的“添加”菜单项 if(actionevent.getsource()=jmenuitem1) /创建添加学生面板对象 addstudentpanel add=new addstudentpanel(); /移除主界面上原有的内容 this.remove(this.getcontentpane(); this.setcontentpane(add); /令界面可见 this.setvisible(true); /点击“更新”菜单下的“按学号删除”菜单项 if(actioneven
22、t.getsource()=jmenuitem2) /创建删除学生面板对象 deletestudentpanel delete=new deletestudentpanel(); /移除主界面上原有的内容 this.remove(this.getcontentpane(); this.setcontentpane(delete); /令界面可见 this.setvisible(true); /点击“查询”菜单下的“按姓名查询”菜单项 if(actionevent.getsource()=jmenuitem3) /创建“按姓名查询”面板对象 inquireonnamepanel onname=n
23、ew inquireonnamepanel(); /移除主界面上原有的内容 this.remove(this.getcontentpane(); this.setcontentpane(onname); /令界面可见 this.setvisible(true); /点击“查询”菜单下的“按学号查询”菜单项 if(actionevent.getsource()=jmenuitem4) /创建“按学号查询”面板对象 inquireonxhpanel onxh=new inquireonxhpanel(); /移除主界面上原有的内容 this.remove(this.getcontentpane()
24、; this.setcontentpane(onxh); /令界面可见 this.setvisible(true); /点击“更新”菜单下的“对全体操作”菜单项 if(actionevent.getsource()=jmenuitem5) /创建“对全体进行操作”面板对象 onall ona=new onall(); /移除主界面上原有的内容 this.remove(this.getcontentpane(); this.setcontentpane(ona); /令界面可见 this.setvisible(true); 添加:import java.awt.*; import java.sq
25、l.*; import javax.swing.*; import java.awt.event.*; /创建“添加学生面板”类 public class addstudentpanel extends jpanel implements actionlistener /声明连接数据库对象 connection con; /声明sql语句对象 statement st; /创建组件对象:标签、文本行、单选 jlabel jlabel1=new jlabel(学号); jlabel jlabel2=new jlabel(姓名); jlabel jlabel3=new jlabel(性别); jl
26、abel jlabel4=new jlabel(出生日期); jlabel jlabel5=new jlabel(籍贯); jlabel jlabel6=new jlabel(注意:出生日期格式为yyyy/mm/dd); jlabel jlabel7=new jlabel(班号); jlabel jlabel8=new jlabel(系号); jtextfield jtextfield1=new jtextfield(); jtextfield jtextfield2=new jtextfield(); jtextfield jtextfield3=new jtextfield(); jtex
27、tfield jtextfield4=new jtextfield(); jtextfield jtextfield5=new jtextfield(); jtextfield jtextfield6=new jtextfield(); jradiobutton jradiobutton1=new jradiobutton(男); jradiobutton jradiobutton2=new jradiobutton(女); buttongroup buttongroup1=new buttongroup(); jbutton jbutton1=new jbutton(存入数据库); /构造方
28、法 public addstudentpanel() try /调用初始化方法 jbinit(); catch(exception exception) exception.printstacktrace(); /界面初始化方法 private void jbinit() throws exception /连接数据库 con=dbconnect.getconn(); st=con.createstatement(); /框架的布局 this.setlayout(null); /设置各组件的大小 jlabel1.setbounds(new rectangle(21,17,64,24); jla
29、bel2.setbounds(new rectangle(21,51,53,22); jlabel3.setbounds(new rectangle(21,86,61,27); jlabel4.setbounds(new rectangle(21,122,59,25); jlabel5.setbounds(new rectangle(21,188,54,24); jlabel6.setbounds(new rectangle(102,153,219,27); jlabel7.setbounds(new rectangle(21,225,53,22); jlabel8.setbounds(new
30、 rectangle(21,273,53,22); jtextfield1.setbounds(new rectangle(102,10,200,30); jtextfield2.setbounds(new rectangle(102,49,200,30); jtextfield3.setbounds(new rectangle(102,117,200,30); jtextfield4.setbounds(new rectangle(102,183,200,30); jtextfield5.setbounds(new rectangle(102,222,200,30); jtextfield6
31、.setbounds(new rectangle(102,270,200,30); jradiobutton1.setbounds(new rectangle(102,83,65,30); jradiobutton2.setbounds(new rectangle(190,85,85,30); jbutton1.setbounds(new rectangle(110,320,180,30); /设置单选按钮被选中 jradiobutton1.setselected(true); /添加按钮动作事件 jbutton1.addactionlistener(this); /添加组件到面板 this.
32、add(jtextfield1); this.add(jlabel1); this.add(jlabel2); this.add(jtextfield2); this.add(jradiobutton1); this.add(jradiobutton2); this.add(jlabel3); this.add(jlabel4); this.add(jtextfield3); this.add(jlabel6); this.add(jtextfield4); this.add(jlabel5); this.add(jtextfield5); this.add(jlabel7); this.ad
33、d(jtextfield6); this.add(jlabel8); this.add(jbutton1); buttongroup1.add(jradiobutton1); buttongroup1.add(jradiobutton2); /点击按钮事件 public void actionperformed(actionevent e) /获取用户输入的信息 string xuehao=jtextfield1.gettext(); string xingming=jtextfield2.gettext(); string xingbie=; if(jradiobutton1.isselec
34、ted() xingbie+=男; if(jradiobutton2.isselected() xingbie+=女; string datestring=jtextfield3.gettext(); string jiguan=jtextfield4.gettext(); string banhao=jtextfield5.gettext(); string xihao=jtextfield6.gettext(); try /设置日期格式 st.execute(set dateformat ymd); /利用st对象执行sql语句,进行插入操作 st.executeupdate(insert
35、 into studentinfo values(+xuehao+,+xingming+,+xingbie+,+datestring+,+jiguan+,+xihao+,+banhao+); /清空文本行的内容 jtextfield1.settext(); jtextfield2.settext(); jtextfield3.settext(); jtextfield4.settext(); jtextfield5.settext(); jtextfield6.settext(); /利用消息对话框提示删除操作成功 joptionpane.showmessagedialog(this,插入成功
36、!); catch(exception ex) /利用消息对话框提示不能插入,并显示异常的信息 joptionpane.showmessagedialog(this,输入数据错误或者数据库不允许插入!); ex.printstacktrace(); 按学号删除:import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; /创建“删除学生面板”类 public class deletestudentpanel extends jpanel implements actionlistene
37、r /声明连接数据库对象 connection con; /声明sql语句对象 statement st; /创建组件对象 jlabel jlabel1=new jlabel(请输入待删除的学生的学号:); jtextfield jtextfield1=new jtextfield(); jbutton jbutton1=new jbutton(删除); /构造方法 /构造方法 public deletestudentpanel() try /调用初始化方法 jbinit(); catch(exception exception) exception.printstacktrace(); /界
38、面初始化方法 private void jbinit() throws exception /连接数据库 con=dbconnect.getconn(); st=con.createstatement(); /框架的布局 this.setlayout(null); /设置各组件的大小 jlabel1.setfont(new java.awt.font(宋体,font.bold,14); jlabel1.setbounds(new rectangle(70,20,200,30); jtextfield1.setbounds(new rectangle(70,80,207,41); jbutton
39、1.setbounds(new rectangle(70,175,205,36); /添加按钮动作事件 jbutton1.addactionlistener(this); /添加组件到面板 this.add(jlabel1); this.add(jtextfield1); this.add(jbutton1); /点击按钮事件 public void actionperformed(actionevent e) /获取用户输入的学号 string xuehao=jtextfield1.gettext(); /要求用户确认删除 if(joptionpane.showconfirmdialog(t
40、his, 确 认 要 删 除 吗 ?)=joptionpane.yes_option) try /利用 st对象执行sql删除操作 st.executeupdate(delete from studentinfo where 学号=+xuehao+); /利用消息对话框提示删除操作成功 joptionpane.showmessagedialog(this,删除操作成功!); /清空输入学号的文本行 jtextfield1.settext(); catch(exception ex) /利用消息对话框提示不能删除 joptionpane.showmessagedialog(this,删除操作执行
41、失败!); 对全体操作:import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.defaulttablemodel;import java.awt.event.*; import java.util.*; /创建“对全体操作面板”类 public class onall extends jpanel implements actionlistener /声明连接数据库对象 connection con; /声明sql语句对象 statement st; jbutton jbutto
42、n1=new jbutton(查询); jbutton jbutton2=new jbutton(删除); /jbutton jbutton3=new jbutton(添加); jbutton jbutton4=new jbutton(修改); jscrollpane jscrollpane1=new jscrollpane(); defaulttablemodel mytmodel=new defaulttablemodel(); final jtable table=new jtable(mytmodel); /构造方法 public onall() try /调用初始化方法 jbinit
43、(); catch(exception exception) exception.printstacktrace(); /面板初始化方法 private void jbinit() throws exception /连接数据库 con=dbconnect.getconn(); st=con.createstatement(); /框架的布局 this.setlayout(null); /设置各组件的大小 jbutton2.setbounds(new rectangle(29,333,150,30); jbutton1.setbounds(new rectangle(90,30,160,30)
44、; jbutton4.setbounds(new rectangle(196,333,150,30); jscrollpane1.setbounds(new rectangle(29,90,315,230); /添加按钮动作事件 jbutton1.addactionlistener(this); jbutton2.addactionlistener(this); jbutton4.addactionlistener(this); /添加组件到面板 this.add(jscrollpane1); jscrollpane1.getviewport().add(table); this.add(jbutton1); this.add(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装厂成品检验标准
- 某医药公司药品销售管理制度
- 2025版《中国系统性红斑狼疮(SLE)诊疗指南》解读课件
- 教学材料《计算机》-2-3 Mobile Communication
- 复工复产之前收心安全培训教育
- 夫妻沟通技巧培训大纲
- 翡翠评估师培训大纲
- 法律服务行业现状与发展趋势
- 2025年一级建造师《机电实务》真题及答案解析
- 《汽车电工电子》-《汽车电工电子》-9项目九 数字电路基础
- 工程标杆管理办法细则
- 计算机等级考试二级wps题库100道及答案
- DB31/T 5000-2012住宅装饰装修服务规范
- 钢结构预拼装方案及标准
- 马工程西方经济学(精要本第三版)教案
- 【初中 语文】第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- GenAI教育在不同场景下的应用案例分析与演进路径
- GB/T 44815-2024激光器和激光相关设备激光束偏振特性测量方法
- 某爱琴海购物中心开业预热推广方案
- 口腔颌面部肿瘤-血管瘤与脉管畸形的诊疗
- 康复质控中心建设思路和工作计划
评论
0/150
提交评论