由于学生管理系统是一个比较大的项目,包含多个模块和功能,因此在这里只提供一个简单的增删改查页面的代码示例,供参考。

该页面主要包括以下几个部分:

  1. 学生信息列表,展示所有学生的基本信息,包括姓名、年龄、性别、学号等;
  2. 新增学生信息的表单,包括各个字段的输入框和提交按钮;
  3. 修改学生信息的表单,与新增表单类似,但需要在表单上方显示当前要修改的学生信息;
  4. 删除学生信息的按钮,点击后弹出确认框,确认删除后删除该学生信息。

以下是示例代码:

import java.util.ArrayList;
import java.util.List;

public class Student {
    private String name;
    private int age;
    private String gender;
    private String id;
    
    public Student(String name, int age, String gender, String id) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.id = id;
    }
    
    // getter and setter methods
}

public class StudentManager {
    private List<Student> students;
    
    public StudentManager() {
        students = new ArrayList<>();
    }
    
    public void addStudent(Student student) {
        students.add(student);
    }
    
    public void removeStudent(String id) {
        for (Student student : students) {
            if (student.getId().equals(id)) {
                students.remove(student);
                break;
            }
        }
    }
    
    public void updateStudent(String id, Student updatedStudent) {
        for (int i = 0; i < students.size(); i++) {
            if (students.get(i).getId().equals(id)) {
                students.set(i, updatedStudent);
                break;
            }
        }
    }
    
    public Student getStudentById(String id) {
        for (Student student : students) {
            if (student.getId().equals(id)) {
                return student;
            }
        }
        
        return null;
    }
    
    public List<Student> getAllStudents() {
        return students;
    }
}

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class StudentManagementSystem extends JFrame implements ActionListener {
    private StudentManager manager;
    private JButton addButton, updateButton, deleteButton;
    private JTextField nameField, ageField, genderField, idField;
    private JTable studentTable;
    
    public StudentManagementSystem() {
        manager = new StudentManager();
        
        // initialize components
        addButton = new JButton("Add");
        updateButton = new JButton("Update");
        deleteButton = new JButton("Delete");
        
        nameField = new JTextField(10);
        ageField = new JTextField(3);
        genderField = new JTextField(6);
        idField = new JTextField(10);
        
        studentTable = new JTable();
        JScrollPane scrollPane = new JScrollPane(studentTable);
        
        // set layout
        JPanel inputPanel = new JPanel(new GridLayout(2, 4));
        inputPanel.add(new JLabel("Name:"));
        inputPanel.add(nameField);
        inputPanel.add(new JLabel("Age:"));
        inputPanel.add(ageField);
        inputPanel.add(new JLabel("Gender:"));
        inputPanel.add(genderField);
        inputPanel.add(new JLabel("ID:"));
        inputPanel.add(idField);
        
        JPanel buttonPanel = new JPanel(new FlowLayout());
        buttonPanel.add(addButton);
        buttonPanel.add(updateButton);
        buttonPanel.add(deleteButton);
        
        setLayout(new BorderLayout());
        add(inputPanel, BorderLayout.NORTH);
        add(scrollPane, BorderLayout.CENTER);
        add(buttonPanel, BorderLayout.SOUTH);
        
        // set listeners
        addButton.addActionListener(this);
        updateButton.addActionListener(this);
        deleteButton.addActionListener(this);
        
        // set window properties
        setLocationRelativeTo(null);
        setSize(500, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();
        
        if (command.equals("Add")) {
            String name = nameField.getText();
            int age = Integer.parseInt(ageField.getText());
            String gender = genderField.getText();
            String id = idField.getText();
            
            Student newStudent = new Student(name, age, gender, id);
            manager.addStudent(newStudent);
            
            // refresh table
            refreshTable();
        } else if (command.equals("Update")) {
            String id = idField.getText();
            
            Student currentStudent = manager.getStudentById(id);
            if (currentStudent == null) {
                JOptionPane.showMessageDialog(this, "No student found with ID " + id);
                return;
            }
            
            String name = nameField.getText();
            int age = Integer.parseInt(ageField.getText());
            String gender = genderField.getText();
            
            Student updatedStudent = new Student(name, age, gender, id);
            manager.updateStudent(id, updatedStudent);
            
            // refresh table
            refreshTable();
        } else if (command.equals("Delete")) {
            String id = idField.getText();
            
            int confirm = JOptionPane.showConfirmDialog(this, "Are you sure to delete student with ID " + id + "?");
            
            if (confirm == JOptionPane.YES_OPTION) {
                manager.removeStudent(id);
                
                // refresh table
                refreshTable();
            }
        }
    }
    
    private void refreshTable() {
        List<Student> students = manager.getAllStudents();
        Object[][] data = new Object[students.size()][4];
        
        for (int i = 0; i < students.size(); i++) {
            data[i][0] = students.get(i).getName();
            data[i][1] = students.get(i).getAge();
            data[i][2] = students.get(i).getGender();
            data[i][3] = students.get(i).getId();
        }
        
        String[] columnNames = {"Name", "Age", "Gender", "ID"};
        
        studentTable.setModel(new DefaultTableModel(data, columnNames));
    }
    
    public static void main(String[] args) {
        new StudentManagementSystem();
    }
}

以上代码使用了 Java Swing 框架实现了一个简单的学生管理系统。其中,Student 类表示学生对象,StudentManager 类实现了学生信息的增删改查操作,StudentManagementSystem 类实现了界面和事件处理。

StudentManagementSystem 类的构造方法中,我们首先创建了一个 StudentManager 对象,并初始化了各个界面组件。为了简化示例,我们使用了一个 JTable 表格来展示所有学生的信息,当用户进行增删改操作后,我们需要调用 refreshTable() 方法来刷新表格。在事件处理方法中,我们根据按钮的命令执行相应的操作,最后调用 refreshTable() 方法刷新表格。


原文地址: https://www.cveoy.top/t/topic/nF6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录