This project is a Java Swing-based Course Enrollment System with a graphical user interface (GUI). It allows users to manage students and courses, enroll students, assign grades, and view detailed student information through an interactive interface.
The application demonstrates event-driven programming and object-oriented design using Java.
- Add new students with name and ID
- Update existing student information
- View student details (courses and grades)
- Create and manage courses
- Enroll students in courses
- Assign grades (0–100) to enrolled students
- Dynamic student list displayed in the GUI
- Input validation using dialog boxes
- Left Panel: Action buttons for system operations
- Right Panel: Displays current students in a list
- Pop-up Dialogs: Used for user input and feedback
- Java
- Java Swing (JFrame, JPanel, JButton, JList, JOptionPane)
- ArrayList for data storage
- Event handling with ActionListeners
GUI.java– Main GUI and event handling logicStudent.java– Handles student data (name, ID, courses, grades)Course.java– Handles course data (name, ID, enrolled students)
-
Compile all Java files:
javac *.java -
Run the program:
java GUI
- Object-Oriented Programming (OOP)
- Event-driven programming
- GUI layout management (BorderLayout, BoxLayout)
- Input validation and error handling
- Working with collections (ArrayList)
- Data is not persistent (resets when the program closes)
- No database or file storage integration
- Basic GUI styling
- Add database support (MySQL or SQLite)
- Improve GUI design and layout (centering, spacing, styling)
- Add course list display in GUI
- Implement search and filtering features
- Display overall grade calculations in the interface
##Author Christian Krider Created as a learning project to practice Java GUI development and software design principles.