请你用java写一个图形界面要求设计三个界面数据保存到文件,界面之间可以跳转
时间: 2024-03-22 15:39:57 浏览: 78
JAVA图形界面设计
好的,以下是一个简单的 Java 图形界面程序,它包含三个界面,可以将数据保存到文件,并且可以在不同的界面之间进行跳转。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class GUI implements ActionListener {
private JFrame frame;
private JPanel panel;
private JButton button1, button2, button3;
private JLabel label1, label2, label3;
private JTextField field1, field2, field3;
public GUI() {
// 创建 JFrame
frame = new JFrame("GUI");
// 创建 JPanel
panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
// 创建标签和文本框
label1 = new JLabel("Name:");
field1 = new JTextField();
label2 = new JLabel("Age:");
field2 = new JTextField();
label3 = new JLabel("Gender:");
field3 = new JTextField();
// 创建按钮
button1 = new JButton("Save");
button1.addActionListener(this);
button2 = new JButton("Next");
button2.addActionListener(this);
button3 = new JButton("Back");
button3.addActionListener(this);
// 添加组件到面板
panel.add(label1);
panel.add(field1);
panel.add(label2);
panel.add(field2);
panel.add(label3);
panel.add(field3);
panel.add(button2);
panel.add(button1);
// 添加面板到 JFrame
frame.add(panel);
// 设置 JFrame 属性
frame.setSize(300, 200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
// 实现 ActionListener 接口
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
// 保存数据到文件
try {
FileWriter writer = new FileWriter("data.txt", true);
writer.write(field1.getText() + "," + field2.getText() + "," + field3.getText() + "\n");
writer.close();
JOptionPane.showMessageDialog(panel, "Data saved successfully!");
} catch (IOException ex) {
JOptionPane.showMessageDialog(panel, "Error: " + ex.getMessage());
}
} else if (e.getSource() == button2) {
// 切换到下一个界面
frame.remove(panel);
panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
panel.add(new JLabel("Address:"));
panel.add(new JTextField());
panel.add(new JLabel("Phone:"));
panel.add(new JTextField());
panel.add(new JLabel("Email:"));
panel.add(new JTextField());
panel.add(button3);
panel.add(button1);
frame.add(panel);
frame.validate();
} else if (e.getSource() == button3) {
// 切换到上一个界面
frame.remove(panel);
panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
panel.add(label1);
panel.add(field1);
panel.add(label2);
panel.add(field2);
panel.add(label3);
panel.add(field3);
panel.add(button2);
panel.add(button1);
frame.add(panel);
frame.validate();
}
}
public static void main(String[] args) {
new GUI();
}
}
```
这个程序创建了一个 JFrame 和一个 JPanel。在 JPanel 中,我们创建了三个标签和三个文本框,以便用户输入数据。还创建了三个按钮,分别用于保存数据、切换到下一个界面和切换到上一个界面。
当用户单击“保存”按钮时,程序将数据写入名为“data.txt”的文件中。当用户单击“下一个”按钮时,程序将从 JPanel 中删除旧组件,并添加新的组件以切换到下一个界面。当用户单击“上一个”按钮时,程序将从 JPanel 中删除旧组件,并添加旧组件以切换到上一个界面。
希望这个程序可以满足你的需要。如果你有其他问题,请随时提出。
阅读全文