用java编写:设计一个Student类并编写代码,Student类的属性有姓名,出生年、月、日;自定义的方法:至少包括计算学生年龄的方法calAge()。编写一个GUI类,输入学生的姓名和出生年、月、日,由此创建这个Student对象,调用Student类的方法calAge(),计算出该学生的年龄,并将年龄显示在用户界面上,年龄显示使用滚动窗格
时间: 2024-02-29 15:51:26 浏览: 10
好的,以下是用Java编写的Student类和GUI类的代码:
Student类:
```java
import java.time.LocalDate;
import java.time.Period;
public class Student {
private String name;
private LocalDate birthDate;
public Student(String name, int year, int month, int day) {
this.name = name;
this.birthDate = LocalDate.of(year, month, day);
}
public int calAge() {
LocalDate now = LocalDate.now();
Period period = Period.between(this.birthDate, now);
return period.getYears();
}
}
```
GUI类:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentGUI extends JFrame {
private JTextField nameField;
private JTextField yearField;
private JTextField monthField;
private JTextField dayField;
private JTextArea ageArea;
public StudentGUI() {
setTitle("计算学生年龄");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(5, 2));
panel.add(new JLabel("姓名:"));
nameField = new JTextField();
panel.add(nameField);
panel.add(new JLabel("出生年:"));
yearField = new JTextField();
panel.add(yearField);
panel.add(new JLabel("出生月:"));
monthField = new JTextField();
panel.add(monthField);
panel.add(new JLabel("出生日:"));
dayField = new JTextField();
panel.add(dayField);
JButton calButton = new JButton("计算年龄");
calButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
int year = Integer.parseInt(yearField.getText());
int month = Integer.parseInt(monthField.getText());
int day = Integer.parseInt(dayField.getText());
Student student = new Student(name, year, month, day);
int age = student.calAge();
ageArea.setText("学生年龄为:" + age + " 岁");
}
});
panel.add(calButton);
ageArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(ageArea);
panel.add(scrollPane);
add(panel);
setVisible(true);
}
public static void main(String[] args) {
new StudentGUI();
}
}
```
运行该程序后,会弹出一个窗口,用户可以输入学生的姓名和出生年、月、日,然后点击“计算年龄”按钮,该程序会创建一个Student对象,并调用calAge()方法计算学生的年龄,最终将年龄显示在滚动窗格中。