用java-swing写个学生成绩管理系统
时间: 2023-03-31 18:01:24 浏览: 95
好的,我可以回答这个问题。学生成绩管理系统可以使用Java Swing编写,可以使用表格来显示学生的成绩,还可以添加、删除和修改学生的信息。同时,可以使用文件或数据库来存储学生的信息和成绩。这个系统可以帮助老师和学生更好地管理和了解学生的学习情况。
相关问题
javaswing学生成绩管理系统
Java Swing学生成绩管理系统是一个基于Java Swing和MySQL的应用程序,用于管理学生成绩信息。它可以实现成绩信息的增删改查、课程管理、学生信息管理、修改密码和系统登录等功能。
以下是一个简单的Java Swing学生成绩管理系统的设计思路:
1. 创建数据库表:在MySQL中创建一个名为"student"的表,包含学生的姓名、学号、课程和成绩等字段。
2. 创建用户界面:使用Java Swing创建用户界面,包括登录界面和主界面。登录界面用于用户输入用户名和密码进行登录,主界面用于显示学生成绩信息和提供管理功能的按钮。
3. 实现登录功能:在登录界面中,用户输入正确的用户名和密码后,点击登录按钮,程序将验证用户输入的用户名和密码是否正确。如果验证通过,将打开主界面;否则,显示错误提示信息。
4. 实现成绩信息的增删改查功能:在主界面中,提供增加、删除、修改和查询学生成绩信息的功能按钮。点击相应的按钮后,程序将执行相应的操作,并更新数据库中的学生成绩信息。
5. 实现课程管理功能:在主界面中,提供管理课程信息的功能按钮。点击相应的按钮后,程序将显示课程信息的列表,并提供添加、删除和修改课程信息的功能。
6. 实现学生信息管理功能:在主界面中,提供管理学生信息的功能按钮。点击相应的按钮后,程序将显示学生信息的列表,并提供添加、删除和修改学生信息的功能。
7. 实现修改密码功能:在主界面中,提供修改密码的功能按钮。点击按钮后,程序将弹出对话框,用户可以输入新的密码并确认修改。
8. 实现系统登录功能:在程序启动时,显示登录界面,用户输入正确的用户名和密码后,才能进入主界面。如果用户输入错误的用户名和密码,将无法进入主界面。
这是一个简单的Java Swing学生成绩管理系统的设计思路,你可以根据需求进行修改和扩展。希望对你有帮助!
java swing SQL实现学生成绩管理系统
好的,学生成绩管理系统是一个常见的应用场景,下面是一个简单的Java Swing和SQL实现的学生成绩管理系统的示例代码,仅供参考:
1. 首先,创建一个名为Student的Java类,用于存储学生姓名和成绩信息,代码如下:
```java
public class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
}
```
2. 创建一个名为DbUtil的Java类,用于连接数据库和执行SQL查询,代码如下:
```java
import java.sql.*;
public class DbUtil {
private static final String URL = "jdbc:mysql://localhost:3306/student";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
private static Connection conn = null;
public static Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeConnection(Connection conn, Statement stmt, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static ResultSet executeQuery(String sql) {
Connection conn = getConnection();
ResultSet rs = null;
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static void executeUpdate(String sql) {
Connection conn = getConnection();
try {
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
3. 创建一个名为StudentDAO的Java类,用于执行学生信息的增删改查操作,代码如下:
```java
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class StudentDAO {
public static void add(Student student) {
String sql = "INSERT INTO student(name, score) VALUES('" + student.getName() + "', " + student.getScore() + ")";
DbUtil.executeUpdate(sql);
}
public static void delete(Student student) {
String sql = "DELETE FROM student WHERE name='" + student.getName() + "'";
DbUtil.executeUpdate(sql);
}
public static void update(Student student) {
String sql = "UPDATE student SET score=" + student.getScore() + " WHERE name='" + student.getName() + "'";
DbUtil.executeUpdate(sql);
}
public static List<Student> query(String keyword) {
String sql = "SELECT * FROM student WHERE name LIKE '%" + keyword + "%'";
List<Student> list = new ArrayList<Student>();
ResultSet rs = DbUtil.executeQuery(sql);
try {
while (rs.next()) {
String name = rs.getString("name");
int score = rs.getInt("score");
Student student = new Student(name, score);
list.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtil.closeConnection(DbUtil.getConnection(), null, rs);
}
return list;
}
}
```
4. 创建一个名为MainFrame的Java类,用于显示学生信息的窗口和处理用户输入的事件,代码如下:
```java
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
public class MainFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField nameField;
private JTextField scoreField;
private JButton addButton;
private JButton deleteButton;
private JButton updateButton;
private JButton queryButton;
private JTable table;
public MainFrame() {
setTitle("学生成绩管理系统");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 400);
contentPane = new JPanel();
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.NORTH);
JLabel nameLabel = new JLabel("姓名:");
panel.add(nameLabel);
nameField = new JTextField();
panel.add(nameField);
nameField.setColumns(10);
JLabel scoreLabel = new JLabel("成绩:");
panel.add(scoreLabel);
scoreField = new JTextField();
panel.add(scoreField);
scoreField.setColumns(10);
addButton = new JButton("添加");
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
int score = Integer.parseInt(scoreField.getText());
Student student = new Student(name, score);
StudentDAO.add(student);
refreshTable();
}
});
panel.add(addButton);
deleteButton = new JButton("删除");
deleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
Student student = new Student(name, 0);
StudentDAO.delete(student);
refreshTable();
}
});
panel.add(deleteButton);
updateButton = new JButton("修改");
updateButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
int score = Integer.parseInt(scoreField.getText());
Student student = new Student(name, score);
StudentDAO.update(student);
refreshTable();
}
});
panel.add(updateButton);
queryButton = new JButton("查询");
queryButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String keyword = nameField.getText();
List<Student> list = StudentDAO.query(keyword);
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setRowCount(0);
for (Student student : list) {
Object[] rowData = { student.getName(), student.getScore() };
model.addRow(rowData);
}
}
});
panel.add(queryButton);
JScrollPane scrollPane = new JScrollPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
table = new JTable();
table.setModel(new DefaultTableModel(new Object[][] {}, new String[] { "姓名", "成绩" }));
scrollPane.setViewportView(table);
}
private void refreshTable() {
List<Student> list = StudentDAO.query("");
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setRowCount(0);
for (Student student : list) {
Object[] rowData = { student.getName(), student.getScore() };
model.addRow(rowData);
}
}
public static void main(String[] args) {
MainFrame frame = new MainFrame();
frame.setVisible(true);
}
}
```
以上就是一个简单的Java Swing和SQL实现的学生成绩管理系统的示例代码,你可以将其复制到你的IDE中进行运行和测试。