CS1102 - Unit 7 Programming
CS1102 - Unit 7 Programming
// Update display
updateStudentDetailsTextArea();
} else {
JOptionPane.showMessageDialog(this, "Please select a course
first.");
}
} else {
JOptionPane.showMessageDialog(this, "Please select a student.");
}
}
/**
* Updates the student details text area with the current list of
students.
*/
private void updateStudentDetailsTextArea() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
sb.append("Student ").append(i + 1).append(":
").append(student.getName()).append(", Age:
").append(student.getAge()).append("\n");
// Display enrolled courses and grades for the student
Map<String, String> courseGrades =
studentCourseGrades.getOrDefault(student, new
HashMap<>());
for (Map.Entry<String, String> entry : courseGrades.entrySet()) {
StringBuilder append = sb.append("\tCourse:
").append(entry.getKey()).append(",
Grade:").append(entry.getValue()).append("\n");
}
}
studentDetailsTextArea.setText(sb.toString());
}
/**
* Represents a Student with a name and age.
*/
private class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
/**
* Main method to start the application.
*
* @param args command-line arguments
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new StudentManagementSystemGUI().setVisible(true);
}
});
}
}
This is the end result, after enrolling several students in 3 different courses, and assigning them
each a grade.
Assign Grade menu: