用Java写一个学生信息管理系统的界面的详细的代码
时间: 2024-03-11 20:49:23 浏览: 15
以下是一个基于JavaFX库编写的学生信息管理系统的详细代码示例:
```java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import java.util.ArrayList;
public class StudentInfoGUI extends Application {
private ArrayList<Student> studentList = new ArrayList<>(); // 存储学生信息的列表
@Override
public void start(Stage primaryStage) throws Exception {
// 创建界面布局
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(10, 10, 10, 10));
gridPane.setVgap(10);
gridPane.setHgap(10);
// 添加控件
Label nameLabel = new Label("姓名:");
TextField nameField = new TextField();
Label idLabel = new Label("学号:");
TextField idField = new TextField();
Label majorLabel = new Label("专业:");
TextField majorField = new TextField();
Label gradeLabel = new Label("年级:");
TextField gradeField = new TextField();
Label phoneLabel = new Label("电话:");
TextField phoneField = new TextField();
Button addButton = new Button("添加");
Button deleteButton = new Button("删除");
Button searchButton = new Button("查找");
// 设置控件位置
gridPane.add(nameLabel, 0, 0);
gridPane.add(nameField, 1, 0);
gridPane.add(idLabel, 0, 1);
gridPane.add(idField, 1, 1);
gridPane.add(majorLabel, 0, 2);
gridPane.add(majorField, 1, 2);
gridPane.add(gradeLabel, 0, 3);
gridPane.add(gradeField, 1, 3);
gridPane.add(phoneLabel, 0, 4);
gridPane.add(phoneField, 1, 4);
gridPane.add(addButton, 0, 5);
gridPane.add(deleteButton, 1, 5);
gridPane.add(searchButton, 2, 5);
// 创建场景
Scene scene = new Scene(gridPane, 500, 300);
// 设置窗口标题
primaryStage.setTitle("学生信息管理系统");
// 设置窗口场景
primaryStage.setScene(scene);
// 显示窗口
primaryStage.show();
// 添加按钮的点击事件
addButton.setOnAction(event -> {
String name = nameField.getText();
String id = idField.getText();
String major = majorField.getText();
String grade = gradeField.getText();
String phone = phoneField.getText();
if (name.isEmpty() || id.isEmpty() || major.isEmpty() || grade.isEmpty() || phone.isEmpty()) {
showAlert("添加失败", "请填写完整信息!");
} else {
Student student = new Student(name, id, major, grade, phone);
studentList.add(student);
showAlert("添加成功", "学生信息已添加!");
clearInput();
}
});
// 删除按钮的点击事件
deleteButton.setOnAction(event -> {
String id = idField.getText();
if (id.isEmpty()) {
showAlert("删除失败", "请输入学号!");
} else {
boolean isDeleted = false;
for (Student student : studentList) {
if (student.getId().equals(id)) {
studentList.remove(student);
showAlert("删除成功", "学生信息已删除!");
isDeleted = true;
break;
}
}
if (!isDeleted) {
showAlert("删除失败", "学号不存在!");
}
clearInput();
}
});
// 查找按钮的点击事件
searchButton.setOnAction(event -> {
String id = idField.getText();
if (id.isEmpty()) {
showAlert("查找失败", "请输入学号!");
} else {
boolean isFound = false;
for (Student student : studentList) {
if (student.getId().equals(id)) {
showAlert("查找成功", student.toString());
isFound = true;
break;
}
}
if (!isFound) {
showAlert("查找失败", "学号不存在!");
}
clearInput();
}
});
}
// 显示提示框
private void showAlert(String title, String message) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle(title);
alert.setHeaderText(null);
alert.setContentText(message);
alert.showAndWait();
}
// 清空输入框
private void clearInput() {
nameField.clear();
idField.clear();
majorField.clear();
gradeField.clear();
phoneField.clear();
}
public static void main(String[] args) {
launch(args);
}
}
// 学生类
class Student {
private String name;
private String id;
private String major;
private String grade;
private String phone;
public Student(String name, String id, String major, String grade, String phone) {
this.name = name;
this.id = id;
this.major = major;
this.grade = grade;
this.phone = phone;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getMajor() {
return major;
}
public String getGrade() {
return grade;
}
public String getPhone() {
return phone;
}
@Override
public String toString() {
return "姓名:" + name + "\n" +
"学号:" + id + "\n" +
"专业:" + major + "\n" +
"年级:" + grade + "\n" +
"电话:" + phone + "\n";
}
}
```
这个代码实现了一个简单的带有添加、删除和查找功能的学生信息管理系统界面。界面中添加了姓名、学号、专业、年级和电话等输入框,用户可以通过填写这些信息来添加、删除和查找学生信息。你可以根据实际需求修改和完善这个代码。