Java实验通讯录 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

集中上机实习报告实验题目用java实现简单功能的学生通讯录

实验题目

用java实现简单功能的学生通讯录;

需求分析和系统设计

需求分析要实现的功能分析:

通过题目可知要设计一个学生通讯录,要求实现简单的通信录管理,能够

输入通信录卡片(实现增、删、改等功能),能够分组,并能够实现按名字(或

其他方式)查询功能;

实现界面:可以是DOS界面,功能按提示方式输入实现;可以是Windows界面,功能用菜单形式,输入界面用对话框形式。

概要设计

为了实现实现通讯录界面,需要完成对电话簿的添加,删除,修改功能,因此只需要完成对这三个按钮事件的处理。这三个按钮同样可以用一个监听器

类来实现事件的监听。区分他们的方法同样是根据按钮标题的不同来区分,当

鼠标单击列表组件时,显示不同人员的联系信息,所以需要为列表组件添加鼠

标事件监听器。

算法分析

在实现功能时只用了简单的面向对象的设计方法,在处理多个按钮事件时,区分按钮的关键是按钮的标题区分,我用了按钮命令事件处理,并用if else 来区分“添加”,“删除”,“修改”这三个按钮。界面上放入一个列表主件,

一个“姓名:”的标签和一个输入姓名的编辑框,一个“电话:”的标签和一

个联系电话的编辑框,一个“地址:”的标签和一个地址的编辑框,还有“添加:”、“删除:”、“修改:”等按钮,及对mouseClicked 事件的监听类。

构造了

JFrame mainFrm 为主窗口,

JTextField name 为姓名输入框,

JTextField tel 为电话输入框,

JTextField add 为地址输入框,

JList dataList 为列表组建,

String[] ming 为姓名数组,

String[] phone 为电话数组,

String[] addr 为地址数组。

在实现过程中,定义PhoneBook类继承了MouseAdapter类与ActionListener接口,就可以用Book类来实现按钮命令监听器和鼠标事件监听器。如果出现错误操作,会在控制台出现异常,且操作无效。

模块划分与说明

学生表

流程图

1,进入通讯录后先在姓名输入框内输入姓名如xx,在电话输入框内输入联系电话,在地址输入框内输入地址;

2,点击“添加”按钮,姓名xx出现在面板左侧的列表中;

3,(1)继续1,2,步骤可向学生通讯录中添加更多学生信息如yy;

(2)可对已添加的学生信息进行修改,如将xx的电话号改变:在列表中点击xx姓名,对xx信息进行修改,最后点击“修改”按钮,修改后的信息被保存;

(3)可对已添加的学生信息进行删除操作,如将xx的信息删除:在列表中点击xx姓名,然后点击“删除”按钮,即可将学生信息删除;

总体图:

流程图:

添加模块流程图:

程序源代码

package通讯录;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class Book extends MouseAdapter implements ActionListener {

public static final int WIDTH=600;

public static final int HIGTH=400;

JFrame mainFrm;

JTextField name;

JTextField tel;

JTextField add;

JList dataList;

String[] ming;

String[] phone;

String[] addr;

int n=0;

void book(){

mainFrm=new JFrame();

mainFrm.setTitle("学生通讯录");

mainFrm.setSize(500,300);

mainFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container contentPane=mainFrm.getContentPane();

ming=new String[10];

phone=new String[10];

addr=new String[10];

dataList=new JList(ming);

dataList.setSelectedIndex(1);

dataList.getSelectedValue();

JPanel P1=new JPanel();

JPanel P2=new JPanel();

JPanel P3=new JPanel();

P1.setSize(400,200);

contentPane.add(P1,BorderLayout.WEST); contentPane.add(P2,BorderLayout.CENTER); contentPane.add(P3,BorderLayout.NORTH);

P1.add(dataList);

P2.setLayout(new GridLayout(3,1));

JLabel l1=new JLabel("姓名:");

name=new JTextField();

JLabel l2=new JLabel("电话:");

tel=new JTextField();

JLabel l3=new JLabel("地址:");

相关文档
最新文档