Java实现带GUI的电话号码查询系统:含增删改功能与文件存储
首先,我们需要创建一个电话号码类,包含姓名和电话号码属性。然后,我们需要创建一个图形用户界面(GUI)来输入输出电话号码信息。我们需要实现电话号码信息的查询、增、删、改等功能。 1. 创建电话号码类: ```java public class PhoneNumber { private String name; private String phoneNumber; public PhoneNumber(String name, String phoneNumber) { this.name = name; this.phoneNumber = phoneNumber; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } } ``` 2. 创建图形用户界面(GUI): 这里我们使用Java的Swing库来创建GUI。首先需要导入相关的包: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.ArrayList; ``` 接下来,我们创建一个主窗口类,继承自JFrame,并实现相应的功能: ```java public class PhoneBook extends JFrame implements ActionListener { // 定义组件 private JTextField nameField, phoneNumberField; private JButton addButton, deleteButton, updateButton, searchButton; private JTextArea displayArea; private ArrayList<PhoneNumber> phoneNumbers; public PhoneBook() { // 初始化组件 nameField = new JTextField(20); phoneNumberField = new JTextField(20); addButton = new JButton("添加"); deleteButton = new JButton("删除"); updateButton = new JButton("更新"); searchButton = new JButton("查询"); displayArea = new JTextArea(10, 30); phoneNumbers = new ArrayList<>(); // 设置布局 setLayout(new FlowLayout()); add(new JLabel("姓名:")); add(nameField); add(new JLabel("电话号码:")); add(phoneNumberField); add(addButton); add(deleteButton); add(updateButton); add(searchButton); add(new JScrollPane(displayArea)); // 添加事件监听器 addButton.addActionListener(this); deleteButton.addActionListener(this); updateButton.addActionListener(this); searchButton.addActionListener(this); // 设置窗口属性 setTitle("电话簿"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } @Override public void actionPerformed(ActionEvent e) { // 根据按钮事件执行相应操作 String name = nameField.getText(); String phoneNumber = phoneNumberField.getText(); if (e.getSource() == addButton) { phoneNumbers.add(new PhoneNumber(name, phoneNumber)); displayArea.append("添加成功:" + name + " - " + phoneNumber + " "); } else if (e.getSource() == deleteButton) { // 删除操作 } else if (e.getSource() == updateButton) { // 更新操作 } else if (e.getSource() == searchButton) { // 查询操作 } } public static void main(String[] args) { new PhoneBook(); } } ``` 3. 实现电话号码信息的查询、增、删、改等功能: 在`actionPerformed`方法中,根据不同的按钮事件执行相应的操作。例如,添加操作可以直接将电话号码对象添加到`phoneNumbers`列表中;删除操作可以通过遍历列表,找到匹配的电话号码对象并移除;更新操作可以通过遍历列表,找到匹配的电话号码对象并更新其属性;查询操作可以通过遍历列表,找到匹配的电话号码对象并显示其信息。 注意:由于篇幅原因,这里只给出了部分代码。你需要根据需求完善其他功能。 ######[AI写代码神器 | 1029点数解答 | 2024-06-15 18:51:28]
- 批处理文件:依据参数表.xlsx精准修改文件.txt中p、t、s值(GPT | 811点数解答 | 2024-12-05 12:58:37)409
- 用批处理和Python实现“参数表.xlsx”与“文件.txt”数据匹配及修改(讯飞星火 | 531点数解答 | 2024-12-05 13:20:42)386
- 批处理文件:依据参数表.xlsx精准修改文件.txt特定参数值(阿里通义 | 495点数解答 | 2024-12-05 13:22:26)364
- C语言实现通讯录按年龄从大到小排序:代码详解与复杂度分析(字节豆包 | 604点数解答 | 2025-12-11 11:24:48)173
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)429
- Java实现有序集合合并与交集算法(顺序表+单链表)(百度文心 | 1247点数解答 | 2026-03-25 10:35:22)27
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)330
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1212
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- Python 利用 win32com 库:将 Excel 转换为 A4 横向 PDF 并单独打印首列(字节豆包 | 507点数解答 | 2025-03-10 15:48:12)328
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)449
- 单线程频繁查ClickHouse致CPU飙升?这些优化方案速看!(DeepSeek | 491点数解答 | 2025-02-13 17:49:54)246