Java写一个学生管理系统的窗口
时间: 2023-07-06 10:21:09 浏览: 34
好的,以下是一个简单的Java学生管理系统窗口示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class StudentManagementSystem extends JFrame implements ActionListener {
private JTextField tfName, tfId, tfMajor;
private JButton btnAdd, btnDelete, btnUpdate;
private JTextArea taDisplay;
private StudentList studentList;
public StudentManagementSystem() {
super("学生管理系统");
// 初始化学生列表
studentList = new StudentList();
// 创建组件
JLabel lbName = new JLabel("姓名:");
tfName = new JTextField(10);
JLabel lbId = new JLabel("学号:");
tfId = new JTextField(10);
JLabel lbMajor = new JLabel("专业:");
tfMajor = new JTextField(10);
btnAdd = new JButton("添加");
btnAdd.addActionListener(this);
btnDelete = new JButton("删除");
btnDelete.addActionListener(this);
btnUpdate = new JButton("更新");
btnUpdate.addActionListener(this);
taDisplay = new JTextArea(10, 40);
JScrollPane scrollPane = new JScrollPane(taDisplay);
// 布局
JPanel p1 = new JPanel(new FlowLayout());
p1.add(lbName);
p1.add(tfName);
p1.add(lbId);
p1.add(tfId);
p1.add(lbMajor);
p1.add(tfMajor);
JPanel p2 = new JPanel(new FlowLayout());
p2.add(btnAdd);
p2.add(btnDelete);
p2.add(btnUpdate);
JPanel p3 = new JPanel(new BorderLayout());
p3.add(p1, BorderLayout.NORTH);
p3.add(p2, BorderLayout.CENTER);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p3, BorderLayout.NORTH);
getContentPane().add(scrollPane, BorderLayout.CENTER);
// 设置窗口属性
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnAdd) {
String name = tfName.getText();
String id = tfId.getText();
String major = tfMajor.getText();
Student student = new Student(name, id, major);
studentList.add(student);
tfName.setText("");
tfId.setText("");
tfMajor.setText("");
taDisplay.setText(studentList.toString());
} else if (e.getSource() == btnDelete) {
String id = tfId.getText();
studentList.delete(id);
tfId.setText("");
taDisplay.setText(studentList.toString());
} else if (e.getSource() == btnUpdate) {
String name = tfName.getText();
String id = tfId.getText();
String major = tfMajor.getText();
Student student = new Student(name, id, major);
studentList.update(student);
tfName.setText("");
tfId.setText("");
tfMajor.setText("");
taDisplay.setText(studentList.toString());
}
}
public static void main(String[] args) {
new StudentManagementSystem();
}
}
class Student {
private String name;
private String id;
private String major;
public Student(String name, String id, String major) {
this.name = name;
this.id = id;
this.major = major;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getMajor() {
return major;
}
public void setName(String name) {
this.name = name;
}
public void setId(String id) {
this.id = id;
}
public void setMajor(String major) {
this.major = major;
}
@Override
public String toString() {
return "姓名:" + name + ",学号:" + id + ",专业:" + major + "\n";
}
}
class StudentList {
private java.util.List<Student> students;
public StudentList() {
students = new java.util.ArrayList<>();
}
public void add(Student student) {
students.add(student);
}
public void delete(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
break;
}
}
}
public void update(Student student) {
for (Student s : students) {
if (s.getId().equals(student.getId())) {
s.setName(student.getName());
s.setMajor(student.getMajor());
break;
}
}
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (Student student : students) {
sb.append(student.toString());
}
return sb.toString();
}
}
```
以上代码实现了一个简单的学生管理系统窗口,包括添加、删除、更新和显示学生信息的功能。当用户点击添加、删除或更新按钮时,程序将根据用户输入的信息执行相应的操作,并更新学生列表和显示区域。