好的,我可以为您介绍一个简单的Java学生管理系统,包含登录界面。以下是一个基本的实现思路:
1. 首先,我们需要创建登录界面:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginFrame extends JFrame {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;
public LoginFrame() {
setTitle("学生管理系统登录");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(new JLabel("用户名:"));
usernameField = new JTextField();
panel.add(usernameField);
panel.add(new JLabel("密码:"));
passwordField = new JPasswordField();
panel.add(passwordField);
loginButton = new JButton("登录");
panel.add(new JLabel()); // 占位
panel.add(loginButton);
add(panel);
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
login();
}
});
}
private void login() {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
if (authenticate(username, password)) {
JOptionPane.showMessageDialog(this, "登录成功!");
new StudentManagementSystem().setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "用户名或密码错误", "登录失败", JOptionPane.ERROR_MESSAGE);
}
}
private boolean authenticate(String username, String password) {
// 这里应该从数据库或配置文件中验证用户凭证
return username.equals("admin") && password.equals("password");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new LoginFrame().setVisible(true);
}
});
}
}
```
2. 然后,我们创建学生管理系统的主界面:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentManagementSystem extends JFrame {
private JTable table;
private JButton addButton, deleteButton, updateButton;
public StudentManagementSystem() {
setTitle("学生管理系统");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
table = new JTable(new StudentTableModel());
JScrollPane scrollPane = new JScrollPane(table);
addButton = new JButton("添加");
deleteButton = new JButton("删除");
updateButton = new JButton("更新");
JPanel buttonPanel = new JPanel();
buttonPanel.add(addButton);
buttonPanel.add(deleteButton);
buttonPanel.add(updateButton);
add(scrollPane, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addStudent();
}
});
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
deleteStudent();
}
});
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateStudent();
}
});
}
private void addStudent() {
// 实现添加学生的逻辑
}
private void deleteStudent() {
// 实现删除学生的逻辑
}
private void updateStudent() {
// 实现更新学生的逻辑
}
}
```
3. 最后,我们需要创建一个数据模型来管理学生数据:
```java
import javax.swing.table.AbstractTableModel;
import java.util.ArrayList;
import java.util.List;
public class StudentTableModel extends AbstractTableModel {
private List<Student> students = new ArrayList<>();
private String[] columnNames = {"ID", "姓名", "年龄", "性别"};
@Override
public int getRowCount() {
return students.size();
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public String getColumnName(int column) {
return columnNames[column];
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Student student = students.get(rowIndex);
switch (columnIndex) {
case 0:
return student.getId();
case 1:
return student.getName();
case 2:
return student.getAge();
case 3:
return student.getGender();
default:
return null;
}
}
public void addStudent(Student student) {
students.add(student);
fireTableDataChanged();
}
public void deleteStudent(int index) {
students.remove(index);
fireTableDataChanged();
}
public void updateStudent(int index, Student student) {
students.set(index, student);
fireTableDataChanged();
}
}
```
4. 最后,我们需要创建一个Student类:
```java
public class Student {
private int id;
private String name;
private int age;
private String gender;
public Student(int id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
// Getter和Setter方法
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setGender(String gender) {
this.gender = gender;
}
}
```
这个示例提供了一个基本的Java学生管理系统框架,包含登录界面和主管理界面。您可以根据需要进一步完善和扩展这个系统,例如添加数据库支持、实现更复杂的学生管理功能等。