21xrx.com
2024-11-05 17:30:48 Tuesday
登录
文章检索 我的文章 写文章
作为一名Java初学者
2023-06-16 17:10:33 深夜i     --     --
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程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复