Java实现简单通讯录程序

4星 · 超过85%的资源 需积分: 9 4 下载量 47 浏览量 更新于2024-07-27 收藏 526KB DOC 举报
"这是一个关于使用Java开发简单通讯录小程序的教程,旨在帮助初学者理解Java编程。该程序包含一个登录界面,具有用户输入用户名和密码的功能,并提供了登录和注册的选项。" 在Java通信录的开发中,我们可以学习到以下几个关键知识点: 1. **Java GUI编程**:这个程序使用了Java Swing库来创建图形用户界面(GUI)。Swing是Java提供的一个用于创建桌面应用的图形组件库。在这个例子中,`JFrame` 是主窗口类,`JPanel` 用于创建面板,`JLabel` 用于显示文本,`JTextField` 用于文本输入,`JPasswordField` 用于密码输入,而 `JButton` 用于创建按钮。 2. **事件监听器**:`LoginForm` 类实现了 `ActionListener` 接口,这意味着它可以处理用户的点击事件。在Java中,事件监听器是处理用户交互的关键,当用户执行特定操作(如点击按钮)时,监听器会触发相应的方法。 3. **组件布局管理**:在代码中,可以看到 `JPanel` 使用默认的布局管理器。Swing 提供了多种布局管理器,如 FlowLayout、GridLayout 和 BorderLayout 等,它们用于控制组件在容器中的排列方式。在这个例子中,尽管没有明确指定布局管理器,但默认的 FlowLayout 可能被用来组织组件。 4. **图像加载**:通过 `Toolkit.getDefaultToolkit().getImage()` 方法加载图片资源,将图片设置为窗口的图标。 5. **窗口设置**:使用 `setResizable(false)` 禁止用户改变窗口大小,`setTitle()` 设置窗口标题,`setSize()` 定义窗口初始尺寸,`setLocation()` 将窗口居中显示在屏幕上,这些都是对 `JFrame` 的基本配置。 6. **屏幕尺寸获取**:`Toolkit.getDefaultToolkit().getScreenSize()` 用于获取显示器的屏幕尺寸,以便更好地定位和调整窗口。 7. **事件处理**:在 `LoginForm` 类中,未给出具体的事件处理代码。通常,`actionPerformed(ActionEvent e)` 方法会被重写,用于响应按钮点击事件。例如,当用户点击“登录”按钮时,会进行用户身份验证;点击“注册”按钮,则可能打开新的注册界面或弹出对话框。 8. **程序结构**:这个通信录程序可能还包括其他类,如数据存储、用户验证等。这些内容虽然没有在给出的部分中体现,但在实际的通信录系统中是必不可少的。 通过这个项目,初学者可以学习到如何组织和构建一个简单的Java应用程序,包括界面设计、事件处理以及基本的窗口设置。随着技能的提升,他们还可以进一步扩展此程序,添加联系人管理、搜索功能、数据持久化等特性。
2012-10-27 上传
实现了以下要求说明的功能: 1.要求使用GUI,采用 Swing 技术数据存储采用文件系统(可以是文本 文件、xml 文件、vCard 文件或其他自定义格式文件,但不能是 Excel 文件)。不 使用数据库。 2. 通讯录中每个项目包括: ( 1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。 ( 2)工作单位:国家、省份、城市、地址、工作单位、所属部门、职位、 邮编、电话、传真 ( 3)网络信息:个人主页、即时通信工具及号码、备用邮箱 ( 4)家庭资料:国家、省份、城市、地址、邮编、电话 3 .通讯录数据的录入功能:输入并存储新的通讯录数据,输入时如果有同 名或同电话号码时,应该给出提示。 4 .通讯录数据的查询功能: ( 1)默认列出所有条目。 ( 2)模糊查询,可以按:姓名、电话号码、手机、姓名的汉语拼音的声母 或全拼查询。支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。 如:输入“张”,列出所有名字中有“张”的条目;输入“ 2645”列出电话中有 该 4个数字的所有条目;输入“xl ”,列出声母为该 2 个字母的所有条目 ( 3)指定分组后,列出某分组的所有条目 说明:查询结果如果有多个条目,应按照姓名排序,并使用姓或姓的第一 个汉语拼音的字母分类。 5 .删除和修改功能:查询到一个条目后,可以删除该条目或修改条目内容。 6 .通信录内容的导入和导出功能。要求能够以CSV 格式和 vCard 格式导入 和导出通讯录的全部内容。并能够与主流手机或其他通讯录软件交换数据。 7 .通讯录显示设置,可以设置在显示查询结果时,一个条目可以显示或不 显示哪些内容。 注意:本系统实现了读取和保存csv文件,同时csv文件中只保存了图片的路径。