共计 3791 个字符,预计需要花费 10 分钟才能阅读完成。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentFrame extends JFrame implements ActionListener {
private JLabel nameLabel, ageLabel, genderLabel, scoreLabel;
private JTextField nameText, ageText, genderText, scoreText;
private JButton addButton, removeButton, updateButton, searchButton;
private JTextArea resultArea;
private StudentSystem studentSystem;
// 构造函数
public StudentFrame() {
setTitle(“ 学生信息管理系统 ”);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
nameLabel = new JLabel(“ 姓名 ”);
ageLabel = new JLabel(“ 年龄 ”);
genderLabel = new JLabel(“ 性别 ”);
scoreLabel = new JLabel(“ 成绩 ”);
nameText = new JTextField(10);
ageText = new JTextField(10);
genderText = new JTextField(10);
scoreText = new JTextField(10);
addButton = new JButton(“ 添加 ”);
removeButton = new JButton(“ 删除 ”);
updateButton = new JButton(“ 修改 ”);
searchButton = new JButton(“ 查询 ”);
addButton.addActionListener(this);
removeButton.addActionListener(this);
updateButton.addActionListener(this);
searchButton.addActionListener(this);
resultArea = new JTextArea();
resultArea.setEditable(false);
studentSystem = new StudentSystem();
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(nameLabel);
inputPanel.add(nameText);
inputPanel.add(ageLabel);
inputPanel.add(ageText);
inputPanel.add(genderLabel);
inputPanel.add(genderText);
inputPanel.add(scoreLabel);
inputPanel.add(scoreText);
JPanel buttonPanel = new JPanel(new GridLayout(1, 4));
buttonPanel.add(addButton);
buttonPanel.add(removeButton);
buttonPanel.add(updateButton);
buttonPanel.add(searchButton);
JPanel resultPanel = new JPanel(new BorderLayout());
resultPanel.add(resultArea, BorderLayout.CENTER);
setLayout(new BorderLayout());
add(inputPanel, BorderLayout.NORTH);
add(buttonPanel, BorderLayout.CENTER);
add(resultPanel, BorderLayout.SOUTH);
setVisible(true);
}
// ActionListener 接口实现
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) { // 添加学生
String name = nameText.getText();
int age = Integer.parseInt(ageText.getText());
String gender = genderText.getText();
double score = Double.parseDouble(scoreText.getText());
Student stu = new Student(name, age, gender, score);
studentSystem.addStudent(stu);
resultArea.setText(“ 添加成功!”);
} else if (e.getSource() == removeButton) { // 删除学生
int index = Integer.parseInt(JOptionPane.showInputDialog(this, “ 请输入要删除的学生序号:”));
studentSystem.removeStudent(index);
resultArea.setText(“ 删除成功!”);
} else if (e.getSource() == updateButton) { // 修改学生信息
int index = Integer.parseInt(JOptionPane.showInputDialog(this, “ 请输入要修改的学生序号:”));
String name = nameText.getText();
int age = Integer.parseInt(ageText.getText());
String gender = genderText.getText();
double score = Double.parseDouble(scoreText.getText());
Student stu = new Student(name, age, gender, score);
studentSystem.updateStudent(index, stu);
resultArea.setText(“ 修改成功!”);
} else if (e.getSource() == searchButton) { // 查询学生信息
String name = nameText.getText();
Student stu = studentSystem.searchStudent(name);
if (stu != null) {
resultArea.setText(“ 姓名:” + stu.getName() + “n”
+ “ 年龄:” + stu.getAge() + “n”
+ “ 性别:” + stu.getGender() + “n”
+ “ 成绩:” + stu.getScore());
} else {
resultArea.setText(“ 对不起,没有找到该学生!”);
}
}
}
public static void main(String[] args) {
new StudentFrame();
}
原文地址: Java 课程内容:深入浅出,掌握 Java 课程核心知识