Java+Eclipse+Swing:打造可增删改查、自动算分且数据持久化的个人成绩信息管理系统
首先,在Eclipse中创建一个新的Java项目,然后在项目中创建一个名为"Main"的主类,用于启动程序。 接着,创建一个名为"Student"的类,用于表示学生信息。该类包括学生的姓名、学号、学院、专业、班级以及三门课程的成绩信息。 ```java public class Student { private String name; private String id; private String college; private String major; private String clazz; private double circuitScore; private double cScore; private double mcuScore; // 省略getter和setter方法 } ``` 接着,创建一个名为"DataUtil"的工具类,用于保存和获取学生信息。可以选择将数据保存在XML文件中、数据库中或者简单地保存在内存中。 ```java import java.util.HashMap; import java.util.Map; public class DataUtil { private static Map<String, Student> students = new HashMap<>(); public static void saveStudent(Student student) { students.put(student.getId(), student); // 可以选择将数据保存到文件或数据库中 } public static Student getStudent(String id) { return students.get(id); } // 其他操作包括删除学生信息、更新学生信息等 } ``` 接着,在主类中使用Swing框架创建一个图形化界面,包括输入学生信息的文本框、保存按钮、查询学生信息按钮等。并且在保存按钮的点击事件中,实现保存学生信息的逻辑。 ```java import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JButton; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("学生成绩信息管理系统"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(null); JLabel nameLabel = new JLabel("姓名:"); nameLabel.setBounds(50, 50, 50, 20); frame.add(nameLabel); JTextField nameField = new JTextField(); nameField.setBounds(100, 50, 100, 20); frame.add(nameField); // 添加其他输入框 JButton saveButton = new JButton("保存"); saveButton.setBounds(150, 200, 80, 30); saveButton.addActionListener(e -> { Student student = new Student(); student.setName(nameField.getText()); // 设置其他学生信息 DataUtil.saveStudent(student); }); frame.add(saveButton); JButton queryButton = new JButton("查询"); queryButton.setBounds(250, 200, 80, 30); queryButton.addActionListener(e -> { String id = idField.getText(); Student student = DataUtil.getStudent(id); if (student != null) { // 在界面上显示学生信息 } }); frame.add(queryButton); frame.setVisible(true); } } ``` 以上代码实现了一个简单的学生成绩信息管理系统,包括输入学生信息、保存学生信息、查询学生信息等功能。通过界面输入数据后,可以通过学号查询学生信息,并且数据会保存在内存中,程序关闭后数据不会丢失。后续可以根据需求进一步完善功能,比如添加删除学生信息、修改学生信息等操作。 ######[AI写代码神器 | 2024点数解答 | 2024-11-26 14:46:08]
- 探秘 ClientMain 类:Java 客户端代码解析(字节豆包 | 41点数解答 | 2024-11-15 18:00:17)246
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)398
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)406
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)349
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)342
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)336
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)214
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)54
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)57
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)56
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)300
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1123