编写程序,用于实现数据传输功能要求在第一个界面输入姓名,年龄。第二个界面上面显示姓名: 年龄:写出相应的页面布局代码和类文件代码
时间: 2024-10-14 21:18:34 浏览: 32
为了编写这样的程序,我们可以使用Java Swing库来创建简单的图形用户界面(GUI)。首先,我们需要导入所需的Swing包,并定义一个`Person`类来存储姓名和年龄。然后,在两个窗口之间传递数据。以下是基本的代码结构:
1. `Person.java` (包含数据模型)
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getters and setters
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
```
2. `Window1.java` (第一个窗口,获取用户输入)
```java
import javax.swing.*;
import java.awt.*;
public class Window1 extends JFrame {
private JTextField nameField;
private JTextField ageField;
public Window1() {
setTitle("窗口1 - 输入信息");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 2));
JLabel nameLabel = new JLabel("姓名:");
nameField = new JTextField();
panel.add(nameLabel);
panel.add(nameField);
JLabel ageLabel = new JLabel("年龄:");
ageField = new JTextField();
ageField.setMaximumSize(new Dimension(50, ageField.getPreferredSize().height));
panel.add(ageLabel);
panel.add(ageField);
JButton submitButton = new JButton("提交");
submitButton.addActionListener(e -> transferDataToWindow2());
panel.add(submitButton);
add(panel);
setVisible(true);
}
private void transferDataToWindow2(Person person) {
// 在这里处理数据并将Person对象传递到下一个窗口
}
}
```
3. `Window2.java` (第二个窗口,展示信息)
```java
import javax.swing.*;
public class Window2 extends JFrame {
private JLabel nameLabel;
private JLabel ageLabel;
public Window2(Person person) {
setTitle("窗口2 - 显示信息");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
nameLabel = new JLabel("姓名: " + person.getName());
ageLabel = new JLabel("年龄: " + person.getAge());
JPanel panel = new JPanel();
panel.add(nameLabel);
panel.add(ageLabel);
add(panel);
setVisible(true);
}
}
// 主函数启动
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
Window1 window1 = new Window1();
// 在Window1的submitButton点击事件中,实例化Window2并传入从Window1接收的Person对象
});
}
```
在`main`函数中,当用户在`Window1`点击"提交"按钮时,会触发`transferDataToWindow2`方法,将`Person`对象传递给`Window2`,并在那里显示数据。
阅读全文