Java程序设计实验报告_第1页
Java程序设计实验报告_第2页
Java程序设计实验报告_第3页
Java程序设计实验报告_第4页
Java程序设计实验报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java2程序设计实验报告java知识应用 班级b08521 姓名 学号 日期2010/12/3 成绩评定 1实验目的(1)掌握使用odbc建立数据源(2)掌握使用eclipse加载数据库驱动程序(3)掌握java通过jdbc-odbc或jdbc直连的方式连接数据库(4)掌握对通过jdbc实现对数据库的简单操作(5)掌握java图形用户界面设计(6)掌握java按钮、文本编辑域、结构化视图设计等在javagui设计过程中的具体应用(7)掌握实现数据库与java程序的具体链接并在javagui界面内实现对数据库的基本操作的技能2任务环境myeclipse、odbc、access20083任务内容

2、 (1)创建应用java语言编写的连接有数据库的java图形界面应用系统,实现对数据库的基本简单操作,诸如增、删、查、改,密码验证,注册登录等内容。(2)编写相应的程序,并实现在java图形用户界面内对数据库的基本操作。(3)撰写java程序设计报告。要求:l 使用mvc模式编写程序l 采用jdbc-odbc或jdbc直连任一种模式连接数据库l 利用gui实现对数据库的简单操作4实验步骤1.试验程序及分析:(1)登陆界面24import java.awt.*;import javax.swing.*;import java.awt.event.*;public class jiemian ex

3、tends jframe implements actionlistener jdesktoppane desk=new jdesktoppane();jmenubar jb=new jmenubar();jmenu base=new jmenu(开始);jmenu function=new jmenu(退出);jmenuitem load=new jmenuitem(登陆);jmenuitem exit=new jmenuitem(退出);dimension dim=gettoolkit().getscreensize();jlabel h=new jlabel(welcom to use

4、the student system!,jlabel.right);public jiemian()super(load window);base.add(load);load.addactionlistener(this);function.add(exit);exit.addactionlistener(this);jb.add(base);jb.add(function);this.setjmenubar(jb);this.setcontentpane(desk);desk.setdragmode(jdesktoppane.outline_drag_mode);setdefaultclo

5、seoperation(jframe.dispose_on_close);setsize(int)dim.getwidth(),(int)dim.getheight()-30);setvisible(true);public void actionperformed(actionevent e)tryif(e.getsource().equals(load)loging l=new loging();l.start(); else if(e.getsource().equals(exit)end en=new end();en.setsize(400,200);en.setvisible(tr

6、ue); en.setdefaultcloseoperation(jframe.exit_on_close); catch(exception e2)e2.printstacktrace();public static void main(string args)jiemian j=new jiemian();j.setsize(800,600);j.setvisible(true);j.setdefaultcloseoperation(jframe.exit_on_close); 在此类中,利用java界面设计程序bar程序建立启动程序的界面。在菜单栏里设计了登录、退出2个选项,分别实现界面

7、的登录与退出功能。其显示效果如下图所示:图1-1 登陆界面 (2)登录过度界面:import javax.swing.*;import java.awt.*;import .*;public class loging extends jwindow implements runnable thread splashthread; /进度条更新线程 jprogressbar progress; /进度条 public loging() container container=getcontentpane(); /得到容器 setcursor(cursor.getpredefinedcursor(

8、cursor.wait_cursor); /设置光标 url url = getclass().getresource(05.jpg); /图片的位置 if(url != null) container.add(new jlabel(new imageicon(url),borderlayout.center); /增加图片 progress = new jprogressbar(1,100); /实例化进度条 progress.setstringpainted(true); /描绘文字 progress.setstring( _ 程序加载中,请稍候. .); /设置显示文字 progress

9、.setbackground(color.white); /设置背景色 container.add(progress,borderlayout.south); /增加进度条到容器上 dimension screen = gettoolkit().getscreensize(); /得到屏幕尺寸 pack(); /窗口适应组件尺寸 setlocation(screen.width-getsize().width)/2,(screen.height-getsize().height)/2); /设置窗口位置 public void start() this.tofront(); /窗口前端显示 s

10、plashthread=new thread(this); /实例化线程 splashthread.start(); /开始运行线程 public void run() setvisible(true); /显示窗口 try for (int i=0;i100;i+) thread.sleep(50); /线程休眠 progress.setvalue(progress.getvalue()+1); /设置进度条值 catch (exception ex) ex.printstacktrace(); dispose(); /释放窗口 showframe(); static void showfr

11、ame() mainwindow w=new mainwindow();w.setsize(800,600);w.setvisible(true);w.setdefaultcloseoperation(jframe.exit_on_close); 在此类中,利用进程的控制对进度条及相应的文字显示进行主次顺序控制进行进度条的显示,在其中又进行了对进度条的颜色及显示文字的控制,进而完成进度条的设计。(3)主界面窗口:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class mainwindow exten

12、ds jframe implements actionlistenerpublic mainwindow()super(mainwindow);container c=getcontentpane(); jpanel wel=new jpanel(); jpanel bon=new jpanel(); jlabel welword=new jlabel(); jbutton b1=new jbutton(登陆); b1.setactioncommand(load); jbutton b2=new jbutton(退出); b2.setactioncommand(exit); c.setlayo

13、ut(new gridlayout(2,1); welword=new jlabel(welcome to student manager system!,jlabel.center); wel.setlayout(new gridlayout(1,1); wel.add(welword); bon.setlayout(new gridlayout(2,1); bon.add(b1); bon.add(b2); c.add(wel); c.add(bon); b1.addactionlistener(this); b2.addactionlistener(this); public void

14、actionperformed(actionevent e)if(e.getactioncommand().equals(load)loading l=new loading();l.setsize(400, 150);l.setvisible(true);l.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(exit)system.exit(0); 在本类中,应用gridlayout结构创建按钮结构,并应用borderlayout结构实现jtabe

15、l文本显示与按钮的结构串联;创建登录按钮实现向密码登录界面的跳转,创建退出按钮实现程序的退出功能,按钮功能通过actionlistener接口进行实现,当actionevent类对象的值满足相应的条件时,实现事先定义的函数打开连接界面。其显示效果如下图所示:图1-2 主界面窗口(4)密码验证窗口import javax.swing.*;import java.awt.event.*;import java.awt.*;public class loading extends jframe implements actionlistenerstring pwd;string uer;loadin

16、formation l=new loadinformation();jtextfield user;jtextfield psd;public loading()super(loading);container c=getcontentpane();c.setlayout(new borderlayout();jlabel yonghu=new jlabel(用户名:,jlabel.left);jlabel mima=new jlabel(密码:,jlabel.left);jbutton load=new jbutton(登陆);load.setactioncommand(load);jbut

17、ton exit=new jbutton(退出);exit.setactioncommand(exit);jbutton login=new jbutton(注册);login.setactioncommand(login);load.addactionlistener(this);exit.addactionlistener(this);login.addactionlistener(this);user=new jtextfield(20);psd=new jpasswordfield(20);jpanel yoh=new jpanel();jpanel pas=new jpanel();

18、jpanel bon=new jpanel();yoh.setlayout(new gridlayout(2,1);pas.setlayout(new gridlayout(2,1);bon.setlayout(new gridlayout(1,3);yoh.add(yonghu);yoh.add(user);pas.add(mima);pas.add(psd);bon.add(login);bon.add(load);bon.add(exit);c.add(yoh,borderlayout.north);c.add(pas,borderlayout.center);c.add(bon,bor

19、derlayout.south);public void actionperformed(actionevent e)if(e.getactioncommand().equals(load)load l1=new load();uer=user.gettext();pwd=psd.gettext();l.setaname(uer);l.setpassword(pwd);boolean b=l1.loading(l); if(b)open o=new open(); o.setsize(200, 250); o.setvisible(true); o.setdefaultcloseoperati

20、on(jframe.exit_on_close); this.dispose();elseuser.settext();psd.settext();else if(e.getactioncommand().equals(exit)system.exit(0);else if(e.getactioncommand().equals(login)login l=new login();l.setsize(600, 300);l.setvisible(true);l.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();在本类中实

21、现用户的登录系统功能并能实现管理人员的注册界面跳转功能。用户利用持有的密码及对应的用户名进行登录,密码保密显示,在密码与用户名不匹配时进行数据的刷新重置数据,让用户实现重新的数据录入。界面结构应用格式化布局gridlayout及flowlayout来分别实现对整体布局及按钮的布局实现。按钮功能通过actionlistener接口进行实现,当actionevent类对象的值满足相应的条件时,实现事先定义的函数打开连接界面或实现相应的功能。包括按钮有注册、登录、返回,文本输入:密码、用户名。其显示效果如下图所示:图1-3 密码验证窗口(5)注册界面import javax.swing.*;impo

22、rt java.sql.*;import java.awt.event.*;import java.awt.*;public class login extends jframe implements actionlistenerjtextfield j1=new jtextfield(20);jtextfield j2=new jtextfield(20);jpasswordfield j3=new jpasswordfield(20);string uer;string fpwd,spwd;loadinformation l=new loadinformation();boolean em

23、pty=true;public login()super(login);container c=getcontentpane();jlabel yonghu=new jlabel(请输入用户名:,jlabel.left);jlabel mima=new jlabel(请输入密码:,jlabel.left);jlabel queren=new jlabel(请再次输入密码:,jlabel.left);jbutton fh=new jbutton(返回);fh.setactioncommand(return);jbutton login=new jbutton(注册);login.setactio

24、ncommand(login);jbutton exit=new jbutton(退出);exit.setactioncommand(exit);fh.addactionlistener(this);exit.addactionlistener(this);login.addactionlistener(this);jpanel text=new jpanel();jpanel bon=new jpanel();c.setlayout(new borderlayout(50,50);text.setlayout(new gridlayout(3,1);bon.setlayout(new flo

25、wlayout(3,100,20);text.add(yonghu);text.add(j1);text.add(mima);text.add(j2);text.add(queren);text.add(j3);bon.add(login);bon.add(fh);bon.add(exit);c.add(text,borderlayout.center);c.add(bon,borderlayout.south); public string max()handle h=new handle();loadinformation l=new loadinformation();resultset

26、 rs=h.getall(loadinformation, l);string n=new string20;int a=new int20;int max,i=0;max=a0;trywhile(rs.next()ni=rs.getstring(anumber);ai=integer.parseint(ni);i+;for(int j=0;ja.length;j+)if(maxaj)max=aj;catch(exception ee)system.out.println(ee.getmessage();string no=string.valueof(max+1);return no;pub

27、lic void actionperformed(actionevent e)if(e.getactioncommand().equals(login)uer=j1.gettext();fpwd=j2.gettext();spwd=j3.gettext();if(fpwd.equals(new string(spwd)handle h=new handle();student stu=new student();string no=max();l.setnumber(no);l.setaname(uer);l.setpassword(spwd);l.setability(false); boo

28、lean b=h.adddata(stu, loadinformation, l);if(b)loading l1=new loading();l1.setsize(400,150);l1.setvisible(true);l1.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();elsej1.settext();j2.settext();j3.settext();else if(e.getactioncommand().equals(return)loading l=new loading();l.setsize(400

29、,150);l.setvisible(true);l.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(exit)system.exit(0);在本类中实现对管理员用户的注册功能,在本界面中用户只需输入新的用户名及相应的密码就可以实现用户的注册。在录入信息时可以进行密码的匹配验证即只有用户输入的新密码两次输入的内容相同时才进行内容的录入否侧进行数据信息的重置令用户重新输入匹配的密码。同时,利用最大值算法将原本的管理员序号进行选择最大值并用其加1后的数

30、值作为新录入用户的编号插入到用户表中。按钮包括:注册、返回(回到密码登陆界面)、退出(实现用户退出程序的功能),输入信息:用户名、新密码、重新输入新密码。按钮功能通过actionlistener接口进行实现,当actionevent类对象的值满足相应的条件时,实现事先定义的函数打开连接界面或实现相应的功能。其显示效果如下图所示:图1-4 注册界面(6)主操作界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class open extends jframe implements actionliste

31、nerpublic open()super(operation);container c=getcontentpane();jbutton b1=new jbutton(查询);jbutton b2=new jbutton(修改用户信息);jbutton b3=new jbutton(修改);jbutton b4=new jbutton(删除);jbutton b5=new jbutton(返回);jbutton b6=new jbutton(退出);jbutton b7=new jbutton(新增);b1.setactioncommand(search);b1.addactionliste

32、ner(this);b2.setactioncommand(aa);b2.addactionlistener(this);b3.setactioncommand(change);b3.addactionlistener(this);b4.setactioncommand(delete);b4.addactionlistener(this);b5.setactioncommand(return);b5.addactionlistener(this);b6.setactioncommand(exit);b6.addactionlistener(this);b7.setactioncommand(a

33、dd);b7.addactionlistener(this);jpanel bon=new jpanel();jpanel ope=new jpanel();gridlayout g=new gridlayout(2,1);c.setlayout(g);bon.setlayout(new gridlayout(5,1,5,5);bon.add(b1);bon.add(b7);bon.add(b2);bon.add(b3);bon.add(b4);ope.setlayout(new flowlayout(2,20,50);ope.add(b5);ope.add(b6);c.add(bon);c.

34、add(ope);public void actionperformed(actionevent e)if(e.getactioncommand().equals(return)loading l=new loading();l.setsize(400, 150);l.setvisible(true);l.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(exit)system.exit(0);else if(e.getactioncommand()

35、.equals(change)updates us=new updates();us.setsize(600, 400);us.setvisible(true);us.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(search)search sa=new search();sa.setsize(500, 600);sa.setvisible(true);sa.setdefaultcloseoperation(jframe.exit_on_clos

36、e);this.dispose();else if(e.getactioncommand().equals(aa)updateuser uu=new updateuser();uu.setsize(200, 250);uu.setvisible(true);uu.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(delete)delete da=new delete();da.setsize(400, 400);da.setvisible(true)

37、;da.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();if(e.getactioncommand().equals(add)adds as=new adds();as.setsize(600, 600);as.setvisible(true);as.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();本类中实现用户的界面功能选择功能,界面应用borderlayout与flowlayou分别作为整体布局与下面按钮的布局格式,按钮功能通过action

38、listener接口进行实现,当actionevent类对象的值满足相应的条件时,实现事先定义的函数打开连接界面或实现相应的功能。按钮包括查询、新增、修改用户信息、删除、修改、返回、退出用来实现相应的功能。 其显示效果如下图所示:图1-5 主操作界面(7)新增界面a.新增管理人员import javax.swing.*;import java.lang.boolean;import java.awt.event.*;import java.awt.*;public class adda extends jframe implements actionlistenerjtextfield jt1

39、=new jtextfield(20);jtextfield jt2=new jtextfield(20);jtextfield jt3=new jtextfield(20);jtextarea jt4=new jtextarea();jpasswordfield jt5=new jpasswordfield(20);loadinformation l=new loadinformation();public adda()super(addadminister);container c=getcontentpane();jbutton add=new jbutton(添加);add.setac

40、tioncommand(add);jbutton fh=new jbutton(返回);fh.setactioncommand(return);jbutton exit=new jbutton(退出);exit.setactioncommand(exit);add.addactionlistener(this);fh.addactionlistener(this);exit.addactionlistener(this);jlabel aname=new jlabel(请输入用户姓名:);jlabel apassword=new jlabel(请输入用户密码:);jlabel anumber=

41、new jlabel(请输入用户编号:);jlabel ability=new jlabel(请输入用户权限:);jlabel show=new jlabel(显示信息如下:,jlabel.left);jpanel text=new jpanel();jpanel bon=new jpanel();jpanel f=new jpanel();jpanel s=new jpanel();jpanel t=new jpanel();jpanel fo=new jpanel();jpanel fi=new jpanel();f.setlayout(new gridlayout(1,2);s.setl

42、ayout(new gridlayout(1,2);t.setlayout(new gridlayout(1,2);fo.setlayout(new gridlayout(1,2);fi.setlayout(new borderlayout();text.setlayout(new gridlayout(8,1);f.add(anumber);f.add(jt1);s.add(aname);s.add(jt2);t.add(apassword);t.add(jt5);fo.add(ability);fo.add(jt3);fi.add(show,borderlayout.north);fi.a

43、dd(jt4);text.add(f);text.add(s);text.add(t);text.add(fo);text.add(fi);bon.setlayout(new flowlayout(3,100,0);bon.add(add);bon.add(fh);bon.add(exit);c.setlayout(new borderlayout(50,50);c.add(text,borderlayout.center);c.add(bon,borderlayout.south);public void actionperformed(actionevent e)if(e.getactio

44、ncommand().equals(add)jt4.settext();string a1=jt1.gettext();string a2=jt2.gettext();string a3=jt3.gettext();string a4=jt4.gettext();string a5=jt5.gettext();boolean b=boolean.valueof(a3);handle h=new handle();student stu=new student();l.setaname(a2);l.setnumber(a1);l.setpassword(a5);l.setability(b);l

45、.setnumber(a1);boolean b1=h.adddata(stu, loadinformation,l);if(b1)jt4.settext(insert success!);elsejt4.settext(insert failed!); jt1.settext();jt2.settext();jt3.settext();jt5.settext();else if(e.getactioncommand().equals(return)updateuser uu=new updateuser();uu.setsize(200,250);uu.setvisible(true);uu

46、.setdefaultcloseoperation(jframe.exit_on_close);this.dispose();else if(e.getactioncommand().equals(exit)system.exit(0);b.新增学生import javax.swing.*;import java.awt.event.*;import java.awt.*;public class adds extends jframe implements actionlistenerjtextfield jt1=new jtextfield(20);jtextfield jt2=new j

47、textfield(20);jtextfield jt3=new jtextfield(20);jtextfield jt4=new jtextfield(20);jtextarea jt5=new jtextarea();public adds()super(addstudent);container c=getcontentpane();jbutton add=new jbutton(添加);jbutton fh=new jbutton(返回);jbutton exit=new jbutton(退出);add.setactioncommand(add);fh.setactioncomman

48、d(return);exit.setactioncommand(exit);add.addactionlistener(this);fh.addactionlistener(this);exit.addactionlistener(this);jlabel sname=new jlabel(请输入学生姓名:);jlabel snumber=new jlabel(请输入学生学号:);jlabel sclass=new jlabel(请输入学生班级:);jlabel ssex=new jlabel(请输入学生性别:);jlabel show=new jlabel(显示信息如下:,jlabel.le

49、ft);jpanel text=new jpanel();jpanel bon=new jpanel();jpanel f=new jpanel();jpanel s=new jpanel();jpanel t=new jpanel();jpanel fo=new jpanel();jpanel fi=new jpanel();f.setlayout(new gridlayout(1,2);s.setlayout(new gridlayout(1,2);t.setlayout(new gridlayout(1,2);fo.setlayout(new gridlayout(1,2);fi.setlayout(new borderlayout();text.setlayout(new gridlayout(8,1);f.add(snumber);f.add(jt1);s.add(sname);s.add(jt2);t.add(sclass);t.add(jt3);fo.add(ssex);fo.add(jt4);fi.add(show,borderlayout.north);fi.add(jt5,bord

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论