《Java程序设计》课程设计报告2013年1月6日系部计科系学号1103040533姓名麻峻阁课程名称Java程序设计项目名称电话号码查询系统指导教师教师评语教师签名:2013年6月6日一、课程设计目的1.熟练掌握Java面向对象程序设计的基础知识2.熟练掌握Java中常用的Swing组件的使用方法3.熟练掌握使用JDBC操作数据库的方法4.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。二、使用仪器、材料计算机一台三、课程设计步骤1.该系统主要实现电话录入,修改、增加、删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。在该系统的主界面中即可操作完成登陆界面,点击登录按钮的连接转换到另一个界面执行操作,来实现电话号码的查找。电话号码查询系统(1)登录界面:出现登录、退出选择按钮,进行选择。(2)进入登录页面,出现输入帐号和密码提示,用户进行操作。初始账户和密码均为(11111)另外还对确定按钮进行了监听,可以判定账号和密码是否正确,当用户输入密码错误时,将清空再次输入密码和学号。(3)进入号码查询页面,根据标签提示,选择查询方式,按键功能按钮,进行查询。按钮1:b1查询全部按钮2:b2按姓名查询按钮3:b3按部门查询按钮4:b4按号码查询四、课程设计原始记录(数据、图表、计算等)1.系统总设计图2.系统流程图1、登陆界面importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjavax.swing.*;publicclassDengextendsFrameimplementsActionListener{publicstaticfinalStringStatement=null;JPanelp=newJPanel();JLabelusername=newJLabel(学号:);//使用文本创建一个用户名标签JTextFieldt1=newJTextField();//创建一个文本框对象JLabelpassword=newJLabel(密码:);//创建一个密码标签JTextFieldt2=newJTextField();JButtonb1=newJButton(登陆);//创建登陆按钮JButtonb2=newJButton(退出);//创建取消按钮publicDeng(){this.setTitle(学生登陆窗口);//设置窗口标题this.setLayout(null);//设置窗口布局管理器username.setBounds(50,40,60,20);//设置姓名标签的初始位置this.add(username);//将姓名标签组件添加到容器t1.setBounds(120,40,80,20);//设置文本框的初始位置this.add(t1);//将文本框组件添加到容器password.setBounds(50,100,60,20);//密码标签的初始位置this.add(password);//将密码标签组件添加到容器t2.setBounds(120,100,80,20);//设置密码标签的初始位置this.add(t2);//将密码标签组件添加到容器b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置this.add(b1);//将登陆按钮组件添加到容器b2.setBounds(120,150,60,20);//设置取消按钮的初始位置this.add(b2);//将取消按钮组件添加到容器b1.addActionListener(this);//给登陆按钮添加监听器b2.addActionListener(newClose());this.setVisible(true);//设置窗口的可见性this.setSize(300,200);//设置窗口的大小addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});//通过内部类重写关闭窗体的方法}publicvoidactionPerformed(ActionEvente){if(e.getSource()==b1)//处理登陆事件{Stringusername=t1.getText();Stringpassword=t2.getText();if(t1.getText().equals())JOptionPane.showMessageDialog(null,用户名不能为空!);elseif(t2.getText().equals()){JOptionPane.showMessageDialog(null,密码不能为空!);}else{if(t1.getText().equals(111012227)&&t2.getText().equals(200510)){dispose();}else{JOptionPane.showMessageDialog(null,用户名错误);JOptionPane.showMessageDialog(null,密码错误);t1.setText(null);t2.setText(null);return;}}}{//提示登陆成功classXueSheng{publicvoidsetLocation(intw1,inth1){//TODOAuto-generatedmethodstub}publicvoidsetVisible(booleanb){//TODOAuto-generatedmethodstub}}JOptionPane.showMessageDialog(this,登陆成功);XueShengthisClass2=newXueSheng();intw1=(Toolkit.getDefaultToolkit().getScreenSize().width-593)/2;inth1=(Toolkit.getDefaultToolkit().getScreenSize().height-385)/2;thisClass2.setLocation(w1,h1);thisClass2.setVisible(true);Deng.this.dispose();}}classCloseimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==b2)System.exit(0);Return;}}publicstaticvoidmain(Stringargs[])//主函数{newDeng();}}publicclassCextendsFrameimplementsActionListener{Stringstr;JPanelp=newJPanel();JLabell1=newJLabel(条件);JTextFieldt1=newJTextField(30);TextAreat=newTextArea(30,30);JButtonb1=newJButton(查询);JButtonb2=newJButton(姓名);JButtonb3=newJButton(部门);JButtonb4=newJButton(号码);publicC(){this.setTitle(查询修改窗口);//设置窗口标题this.setLayout(null);//设置窗口布局管理器b1.setBounds(60,40,60,20);this.add(b1);b2.setBounds(130,40,60,20);this.add(b2);b3.setBounds(200,40,60,20);this.add(b3);b4.setBounds(270,40,60,20);this.add(b4);t.setBounds(60,120,300,350);this.add(t);l1.setBounds(50,80,80,20);this.add(l1);t1.setBounds(90,80,120,30);this.add(t1);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);this.setVisible(true);//设置窗口的可见性this.setSize(450,400);//设置窗口的大小addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidactionPerformed(ActionEvente){try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);}catch(java.lang.ClassNotFoundExceptioneee){}try{if(e.getSource()==b1)//处理登陆事件{Connectioncon=DriverManager.getConnection(jdbc:odbc:phone);Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery(select*fromchaxun);while(rs.next()){str=str+(\n+rs.getString(2)+\t电话号码+rs.getString(5)+\t部门+rs.getString(4));}t.setText(str);stmt.close();con.close();}}catch(SQLExceptionex){System.out.println(ex.getMessage());}if(e.getSource()==b2){try{Connectioncon=DriverManager.getConnection(jdbc:odbc:phone);PreparedStatementstmt=con.prepareStatement(select*fromchaxunwherename=?);stmt.setString(1,t1.getText());ResultSetrs=stmt.executeQuery();Stringstr=;if(rs.next()){str=\n+rs.getString(2)+\t部门:+rs.getString(4)+\t电话号码:+rs.getString(5);t.setText(str);}elset.setText();rs.close();stmt.close();}catch(SQLExceptione1){//TODOAuto-generatedcatchblocke1.printStackTrace();}}if(e.getSource()==b3){try{Connectioncon=DriverManager.getConnection(jdbc:odbc:phone);PreparedStatementstmt=con.prepareStatement(select*fromchaxunwherebumwn=?);stmt.setString(1,t1.getText());ResultSetrs=stmt.executeQuery();Stringstr=;while(