Java带界面设计的学生信息管理系统代码
时间: 2023-11-24 20:07:28 浏览: 62
以下是一个简单的Java带界面设计的学生信息管理系统的示例代码:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class StudentInfoManagementSystem extends JFrame implements ActionListener {
private JLabel titleLabel;
private JPanel loginPanel, mainPanel, addPanel, queryPanel, modifyPanel, deletePanel;
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton, logoutButton, addButton, queryButton, modifyButton, deleteButton;
private JTable resultTable;
private JScrollPane resultPane;
private Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
public StudentInfoManagementSystem() {
// 设置窗口标题和大小
setTitle("学生信息管理系统");
setSize(800, 600);
setResizable(false);
setLocationRelativeTo(null);
// 创建登录界面
loginPanel = new JPanel(new GridLayout(3, 2, 5, 5));
loginPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
loginPanel.add(new JLabel("用户名:", JLabel.RIGHT));
usernameField = new JTextField(10);
loginPanel.add(usernameField);
loginPanel.add(new JLabel("密码:", JLabel.RIGHT));
passwordField = new JPasswordField(10);
loginPanel.add(passwordField);
loginButton = new JButton("登录");
loginButton.addActionListener(this);
loginPanel.add(loginButton);
// 创建主界面
mainPanel = new JPanel(new GridLayout(1, 4, 5, 5));
mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
addButton = new JButton("添加学生信息");
addButton.addActionListener(this);
mainPanel.add(addButton);
queryButton = new JButton("查询学生信息");
queryButton.addActionListener(this);
mainPanel.add(queryButton);
modifyButton = new JButton("修改学生信息");
modifyButton.addActionListener(this);
mainPanel.add(modifyButton);
deleteButton = new JButton("删除学生信息");
deleteButton.addActionListener(this);
mainPanel.add(deleteButton);
mainPanel.setVisible(false);
// 创建添加学生信息界面
addPanel = new JPanel(new GridLayout(6, 2, 5, 5));
addPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
addPanel.add(new JLabel("姓名:", JLabel.RIGHT));
addPanel.add(new JTextField());
addPanel.add(new JLabel("学号:", JLabel.RIGHT));
addPanel.add(new JTextField());
addPanel.add(new JLabel("性别:", JLabel.RIGHT));
addPanel.add(new JComboBox(new String[]{"男", "女"}));
addPanel.add(new JLabel("年龄:", JLabel.RIGHT));
addPanel.add(new JTextField());
addPanel.add(new JLabel("专业:", JLabel.RIGHT));
addPanel.add(new JTextField());
addPanel.add(new JButton("添加"));
addPanel.add(new JButton("取消"));
addPanel.setVisible(false);
// 创建查询学生信息界面
queryPanel = new JPanel(new BorderLayout());
queryPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
queryPanel.add(new JLabel("请输入学号:", JLabel.LEFT), BorderLayout.NORTH);
queryPanel.add(new JTextField(), BorderLayout.CENTER);
queryPanel.add(new JButton("查询"), BorderLayout.EAST);
resultTable = new JTable(10, 5);
resultPane = new JScrollPane(resultTable);
resultPane.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0));
queryPanel.add(resultPane, BorderLayout.SOUTH);
queryPanel.setVisible(false);
// 创建修改学生信息界面
modifyPanel = new JPanel(new GridLayout(6, 2, 5, 5));
modifyPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
modifyPanel.add(new JLabel("请输入学号:", JLabel.RIGHT));
modifyPanel.add(new JTextField());
modifyPanel.add(new JLabel("姓名:", JLabel.RIGHT));
modifyPanel.add(new JTextField());
modifyPanel.add(new JLabel("性别:", JLabel.RIGHT));
modifyPanel.add(new JComboBox(new String[]{"男", "女"}));
modifyPanel.add(new JLabel("年龄:", JLabel.RIGHT));
modifyPanel.add(new JTextField());
modifyPanel.add(new JLabel("专业:", JLabel.RIGHT));
modifyPanel.add(new JTextField());
modifyPanel.add(new JButton("修改"));
modifyPanel.add(new JButton("取消"));
modifyPanel.setVisible(false);
// 创建删除学生信息界面
deletePanel = new JPanel(new BorderLayout());
deletePanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
deletePanel.add(new JLabel("请输入学号:", JLabel.LEFT), BorderLayout.NORTH);
deletePanel.add(new JTextField(), BorderLayout.CENTER);
deletePanel.add(new JButton("删除"), BorderLayout.EAST);
deletePanel.setVisible(false);
// 创建标题
titleLabel = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER);
titleLabel.setFont(new Font("微软雅黑", Font.BOLD, 24));
// 将各个界面添加到窗口中
getContentPane().add(titleLabel, BorderLayout.NORTH);
getContentPane().add(loginPanel, BorderLayout.CENTER);
getContentPane().add(mainPanel, BorderLayout.SOUTH);
getContentPane().add(addPanel, BorderLayout.CENTER);
getContentPane().add(queryPanel, BorderLayout.CENTER);
getContentPane().add(modifyPanel, BorderLayout.CENTER);
getContentPane().add(deletePanel, BorderLayout.CENTER);
// 设置窗口可见
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) { // 登录
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
if (username.equals("admin") && password.equals("123456")) {
loginPanel.setVisible(false);
mainPanel.setVisible(true);
} else {
JOptionPane.showMessageDialog(this, "用户名或密码错误!", "错误", JOptionPane.ERROR_MESSAGE);
}
} else if (e.getSource() == addButton) { // 添加学生信息
mainPanel.setVisible(false);
addPanel.setVisible(true);
} else if (e.getSource() == queryButton) { // 查询学生信息
mainPanel.setVisible(false);
queryPanel.setVisible(true);
} else if (e.getSource() == modifyButton) { // 修改学生信息
mainPanel.setVisible(false);
modifyPanel.setVisible(true);
} else if (e.getSource() == deleteButton) { // 删除学生信息
mainPanel.setVisible(false);
deletePanel.setVisible(true);
}
}
public static void main(String[] args) {
new StudentInfoManagementSystem();
}
}
```
请注意,上述代码只是一个简单的示例,实际上还需要完成各个功能模块的业务逻辑。同时,为了更好地组织代码,建议将各个功能模块的代码分别封装在不同的类中,并使用MVC模式进行设计。