设计java程序 软件功能要求: 1.要求在文本框中输入有关信息,单击“添加”按钮,在下面的多行文本域中显示输入的的信息(如姓名、性别、年龄、爱好); 2.单击“读取”按钮将文本文件中的信息显示到多行文本域中。 3.单击“保存”按钮将把多行文本域中的内容保存到文本文件中,并退出窗口。
时间: 2024-03-19 08:43:19 浏览: 62
好的,下面是一个简单的 Java 程序,实现了您的要求:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class InfoGUI extends JFrame {
private JTextArea infoArea; // 多行文本域,用于显示信息
private JTextField nameField, genderField, ageField, hobbyField; // 文本框,用于输入信息
public InfoGUI() {
setTitle("信息管理系统");
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建组件
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(new JLabel("姓名:"));
nameField = new JTextField();
inputPanel.add(nameField);
inputPanel.add(new JLabel("性别:"));
genderField = new JTextField();
inputPanel.add(genderField);
inputPanel.add(new JLabel("年龄:"));
ageField = new JTextField();
inputPanel.add(ageField);
inputPanel.add(new JLabel("爱好:"));
hobbyField = new JTextField();
inputPanel.add(hobbyField);
JButton addButton = new JButton("添加");
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addInfo();
}
});
JButton readButton = new JButton("读取");
readButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
readInfo();
}
});
JButton saveButton = new JButton("保存");
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
saveInfo();
dispose(); // 保存后退出窗口
}
});
infoArea = new JTextArea();
infoArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(infoArea);
// 添加组件
Container contentPane = getContentPane();
contentPane.add(inputPanel, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonPanel.add(addButton);
buttonPanel.add(readButton);
buttonPanel.add(saveButton);
contentPane.add(buttonPanel, BorderLayout.SOUTH);
}
// 添加信息
private void addInfo() {
String name = nameField.getText();
String gender = genderField.getText();
String age = ageField.getText();
String hobby = hobbyField.getText();
String info = String.format("姓名:%s,性别:%s,年龄:%s,爱好:%s%n", name, gender, age, hobby);
infoArea.append(info);
// 清空文本框
nameField.setText("");
genderField.setText("");
ageField.setText("");
hobbyField.setText("");
}
// 读取信息
private void readInfo() {
try {
BufferedReader reader = new BufferedReader(new FileReader("info.txt"));
String line;
while ((line = reader.readLine()) != null) {
infoArea.append(line + "\n");
}
reader.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "读取文件失败:" + e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
}
}
// 保存信息
private void saveInfo() {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("info.txt"));
writer.write(infoArea.getText());
writer.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "保存文件失败:" + e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args) {
InfoGUI gui = new InfoGUI();
gui.setVisible(true);
}
}
```
这个程序使用了 Swing 库创建了一个简单的 GUI 界面,包含了一个多行文本域、四个单行文本框和三个按钮。当用户在文本框中输入信息并点击“添加”按钮时,程序会将输入的信息显示在多行文本域中。当用户点击“读取”按钮时,程序会从文本文件中读取信息并显示在多行文本域中。当用户点击“保存”按钮时,程序会将多行文本域中的内容保存到文本文件中,然后退出窗口。
阅读全文