1、java课程设计存档资料 成绩: 华东交通大学理工学院课 程 设 计 报 告 书所属课程名称 JAVA课程设计 题 目 学生通讯录系统 分 院 电 信 分 院 专业班级 11计科1班 学号 20110210440129 学生姓名 余小宝 指导教师 黄建华 20 12年 12月 28日 华东交通大学理工学院课 程 设 计任 务 书专 业 计算机科学与技术 班 级 1班 姓名 余小宝 一、课程设计题目 学生通讯录系统 二、课程设计工作:自 2012 年 12 月 18 日起至 2012 年 12 月 28 止。三、课程设计的内容要求:本例的目标是开发一个Java图形界面应用程序,能实现教学测试。具
2、体功能特点如下: (1) 系统采用数据库存储学生通讯录信息; (2)实现学生基本信息的按不同条件的查询; (3)一个界面无法显示所有学生信息,可以实现多页面板显示,并且可以翻动前后页面进行查; (4)查询统计功能,能够按照姓名、学号、性别、籍贯、专业等条件统计分析 ; (5)系统设计包括规划数据的存储、应用界面、应用功能的实现等环节。 学生签名: 余小宝 2012年12 月28 日课程设计(论文)评阅意见序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5任务难度评价6设计中创新性评价7论文书写规范化评价8综合应用能力评价综合评定等级评阅人 职称
3、 20 年 月 日 目录第1章 课程设计内容及要求.2第2章 类方法的设计与实现.5 第3章 程序界面 .6-7第4章 程序代码 .8-18第5章 程序测试 .18-19第6章 课程设计心得.20-21第7章 参考文献.22第2章 类方法的设计与实现2.1测试主界面类tongxunlu 该类的设计包括两个方面:一是应用界面的设计、包括事件驱动;另一个方面就是数据的访问处理,如:学生信息的查询及对后台数据库的访问。(1) 属性变量设计Button bt1:查询按钮的初始化;String Xinxi2 : 用于存放学生信息数组;Int s: 数组变量初始;JLabel zh:欢迎界面标签;JPan
4、el in: 查询界面面板。(2) 方法设计构造方法tongxunlu :该方法主要实现界面的布局显示、注册事件监听,以及数据的初始化处理(包括调用xinxi1(ResultSet rt)方法读所有学生信息)。Zhuye ( ): 实现欢迎界面;Anniu ( ):按钮的事件处理,实现触发查询主界面窗口;Xiage ( ): 显示查询主界面;Duihua (final String name):显示查询对话框,实现按各类条件的查询;actionPerformed( ):动作事件处理,包括转换界面、查询等按钮。xinxi1(ResultSet rt):调用数据库,实现信息的显示;第3章 程序界面
5、3.1:程序运行,进入欢迎界面;3.2:点击“开始查询”按钮,进入查询选项界面;3.3:根据不同条件进行选择查询,比如:点击“按专业查询”按钮,进入如下对话框;:3.4:输入关键字,按“查询”,显示所查询的结果信息。第4章 程序代码import java.awt.Button;import java.awt.Color;import java.awt.Component;import java.awt.Font;import java.awt.Frame;import java.awt.TextArea;import java.awt.TextField;import java.awt.Win
6、dow;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swin
7、g.ImageIcon;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;/* 主类 */public class tongxunlu extends Frame implements ActionListener protected static final ActionListener ActionListener = null; private JPanel in; Button bt1; JLabel lb1; JLabel lbx; JLabel zh; int s=0; in
8、t ye=0; /*image*/ ImageIcon tu_xuan=new ImageIcon(imagesxuan.jpg); /创建加载图片 ImageIcon xian=new ImageIcon(imagesxian.jpg);/创建加载图片 public tongxunlu() zhuye(); this.setVisible(true); /*欢迎界面*/ public void zhuye() this.setTitle(学生通讯录系统); this.setSize(500,430); this.setLocation(400,150); this.setLayout(nul
9、l); this.setResizable(false); this.addWindowListener(new WindowAdapter() /关闭窗口的事件处理 Override public void windowClosing(WindowEvent e) System.exit(0); ); zh=new JLabel (tu_xuan); /图片加载到面板 zh.setSize(this.getSize(); zh.setLocation(0, 0); zh.setVisible(true); this.add(zh); lb1=new JLabel(欢迎进入学生通讯录系统!);
10、 lb1.setSize(400, 50); /lb1.setBackground(Color.BLUE); lb1.setLocation(zh.getSize().width-lb1.getSize().width)/2,150); zh.add(lb1); Font ziti=new Font(楷体,Font.BOLD,30); lb1.setForeground(Color.blue); lb1.setFont(ziti); anniu(); /*欢迎界面查询按扭 */ public void anniu() bt1=new Button(开始查询); bt1.setSize(70,3
11、5); bt1.setLocation(205,250); / bt1.setVisible(true); bt1.setBackground(Color.green); zh.add(bt1); bt1.addActionListener(this); Override public void actionPerformed(ActionEvent e) zh.setVisible(false); xiage(); /*查询主界面*/ public void xiage() in=new JPanel (); Button bt2=new Button6; final String f=按姓
12、名查询,按学号查询,按电话查询,按QQ查询,按专业查询,退出; in.setSize(zh.getSize(); /获取欢迎界面大小 in.setLocation(0, 0); JLabel tu = new JLabel (xian); /图片加载到面板 tu.setSize(in.getSize(); tu.setLocation(0, 0); tu.setVisible(true); in.add(tu); /*按扭摆放位置*/ for(int i=0;i6;i+) bt2i=new Button(fi); bt2i.setSize(80,35); bt2i.setBackground(
13、Color.pink); if(i%2=0) bt2i.setLocation(in.getSize().width-210)/2,100+(i/2)*60); else bt2i.setLocation(in.getSize().width-210)/2+130,100+(i/2)*60); in.add(bt2i); bt20.addActionListener(new ActionListener() /注册按姓名查询按扭监听器 Override public void actionPerformed(ActionEvent e) /按姓名查询按扭事件处理 / TODO Auto-gen
14、erated method stub duihua(f0); ); bt21.addActionListener(new ActionListener() /注册按扭监听器 Override public void actionPerformed(ActionEvent e) /按扭事件处理 / TODO Auto-generated method stub duihua(f1); ); bt22.addActionListener(new ActionListener() /注册按扭监听器 Override public void actionPerformed(ActionEvent e)
15、 /按扭事件处理 / TODO Auto-generated method stub duihua(f2); ); bt23.addActionListener(new ActionListener() /注册按扭监听器 Override public void actionPerformed(ActionEvent e) /按扭事件处理 / TODO Auto-generated method stub duihua(f3); ); bt24.addActionListener(new ActionListener() /注册按扭监听器 Override public void action
16、Performed(ActionEvent e) /按扭事件处理 / TODO Auto-generated method stub duihua(f4); ); bt25.addActionListener(new ActionListener() /注册按扭监听器 Override public void actionPerformed(ActionEvent e) /按扭事件处理 zh.setVisible(true); in.setVisible(false); ); in.setVisible(true); this.add(in); /*对话框界面*/ public void du
17、ihua(final String name) final JDialog tan =new JDialog(this,查询); /创建弹出对话框 tan.setSize(250,200); tan.setLocation(this.getLocation().x+50,this.getLocation().y+50); tan.setLayout(null); JLabel tishi=new JLabel(请输入+name.charAt(1)+name.charAt(2); /创建提示按扭面板 tishi.setSize(tan.getSize().width,35); tishi.set
18、Layout(null); tishi.setLocation(2,25); tan.add(tishi); Button cha=new Button(查 询); /创建查询按扭 cha.setSize(50, 20); final TextField text=new TextField(); text.setSize(100, 20); text.setLocation(75, 5); cha.setLocation(text.getLocation().x+text.getSize().width+5, text.getLocation().y); tishi.add(cha); ti
19、shi.add(text); tan.setVisible(true); tan.addWindowListener(new WindowAdapter() /注册弹出对话框监听器 Override public void windowClosing(WindowEvent e) /关闭弹出对话框事件处理 tan.dispose(); ); cha.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) try Class.forName(sun.jdbc.odbc.J
20、dbcOdbcDriver); catch (ClassNotFoundException e1) / TODO Auto-generated catch block e1.printStackTrace(); try Connection conn=DriverManager.getConnection(jdbc:odbc:通讯录); Statement stmt=conn.createStatement(); ResultSet rt=stmt.executeQuery(Select * from 通讯录 where +name.charAt(1)+name.charAt(2)+ in (
21、+text.getText()+); xinxi1(rt); catch (SQLException e1) System.out.println(数据库连接错误!); e1.printStackTrace(); /*显示所查询的信息对话框*/ public void xinxi1(ResultSet rt) JLabel XS=new JLabel( 姓名 学号 性别 专业 电话 地址 QQ); XS.setSize(1000,50 ); final JDialog xs =new JDialog(); XS.setLocation(xs.getLocation().x+5, xs.getL
22、ocation().y-5); xs.setTitle(信息显示); xs.setLayout(null); xs.setSize(850,470); xs.setLocation(180,30); xs.setVisible(true); xs.add(XS); Button xia=new Button(下一页); xia.setSize(70,35); xia.setLocation(410,350); xs.add(xia); Button shang=new Button(上一页); shang.setSize(70,35); shang.setLocation(310,350);
23、xs.add(shang); final xinxi2 shu=new xinxi21000; try s=0; while(rt.next() shus=new xinxi2(rt.getString(姓名),rt.getString(学号),rt.getString(性别),rt.getString(专业),rt.getString(电话),rt.getString(地址),rt.getString(QQ); s+; rt.close(); catch (SQLException e) for(int i=0;i=10) shui.setVisible(false); xs.add(shu
24、i); ye=10; xia.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) if(ye=s) for(int i=ye-10;(i=ye-1&i=0);i+) shui.setVisible(false); for(int i=ye;(iye+10& i=0);i+) shui.setVisible(true); xs.add(shui); ye+=10; ); shang.addActionListener(new ActionListener() Over
25、ride public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if(ye=20) ye-=10; for(int i=ye;(i=0& is);i+) shui.setVisible(false); xs.add(shui); for(int i=ye-10;(i=0& is);i+) shui.setVisible(true); ); ); class xinxi2 extends JLabel private JLabel lbx; private JLabel 姓名; private JLabel 性别; private JLabel 专业; private JLabel 学号; private JLabel 电话; private JLabel 地址; priva
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1