21xrx.com
2025-03-29 06:00:10 Saturday
文章检索 我的文章 写文章
作为一名Java初学者
2023-06-16 17:10:33 深夜i     7     0
Java GUI编程

作为一名Java初学者,我也想尝试编写一个简单的通讯录应用程序来巩固自己的学习成果。在这个过程中,我学到了很多关于Java GUI编程、文件读写和数据结构等方面的知识,下面我将简要分享一下我的经验。

关键词:

Java GUI编程、文件读写、数据结构

## 1. Java GUI编程

在编写这个通讯录应用程序的过程中,我使用了Java Swing框架来进行GUI开发。其中,最常用的控件包括JFrame、JPanel、JLabel、JTextField、JButton、JScrollPane等。在设计界面时,我注重美观简洁,让用户能够方便地完成添加、查询、修改和删除联系人等操作。

下面是一个简单的GUI界面示例代码:

import javax.swing.*;
import java.awt.*;
public class AddressBookGUI {
  public static void main(String[] args) {
    JFrame frame = new JFrame("通讯录");
    JPanel panel1 = new JPanel();
    JLabel label1 = new JLabel("姓名:");
    JTextField textField1 = new JTextField(20);
    panel1.add(label1);
    panel1.add(textField1);
    JPanel panel2 = new JPanel();
    JLabel label2 = new JLabel("电话:");
    JTextField textField2 = new JTextField(20);
    panel2.add(label2);
    panel2.add(textField2);
    JButton button1 = new JButton("添加联系人");
    JButton button2 = new JButton("查询联系人");
    JButton button3 = new JButton("修改联系人");
    JButton button4 = new JButton("删除联系人");
    JPanel panel3 = new JPanel();
    panel3.add(button1);
    panel3.add(button2);
    panel3.add(button3);
    panel3.add(button4);
    JPanel panel4 = new JPanel();
    JTextArea textArea = new JTextArea(20, 50);
    JScrollPane scrollPane = new JScrollPane(textArea);
    panel4.add(scrollPane);
    Container contentPane = frame.getContentPane();
    contentPane.setLayout(new GridLayout(4,1));
    contentPane.add(panel1);
    contentPane.add(panel2);
    contentPane.add(panel3);
    contentPane.add(panel4);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}

## 2. 文件读写

在通讯录应用程序中,我需要将联系人的信息存储到文件中,以便下次程序打开时能够读取并显示。在Java中,文件的读写可以使用File类和FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类实现。

下面是一个简单的文件读写示例代码:

import java.io.*;
public class AddressBookFile {
  public static void write(String fileName, String content) {
    try {
      BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
      writer.write(content);
      writer.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  public static String read(String fileName) {
    StringBuilder content = new StringBuilder();
    try {
      BufferedReader reader = new BufferedReader(new FileReader(fileName));
      String line;
      while ((line = reader.readLine()) != null) {
        content.append(line);
        content.append("\n");
      }
      reader.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return content.toString();
  }
}

## 3. 数据结构

在通讯录应用程序中,我使用了HashMap数据结构来存储联系人的信息。在添加、修改、查询、删除联系人时,只需要对HashMap进行相应操作即可。

下面是一个简单的HashMap示例代码:

import java.util.HashMap;
public class AddressBook {
  private HashMap
  contacts = new HashMap<>();
 
  public void addContact(String name, String phone) {
    contacts.put(name, phone);
  }
  public String getContact(String name) {
    return contacts.get(name);
  }
  public void updateContact(String name, String phone) {
    contacts.put(name, phone);
  }
  public void deleteContact(String name) {
    contacts.remove(name);
  }
}

综上所述,通过编写这个简单的通讯录应用程序,我学到了很多关于Java GUI编程、文件读写和数据结构等方面的知识。我相信通过不断地实践和研究,我可以在未来的学习中更好地运用这些知识,编写出更加优秀的Java程序。

  
  

评论区