In this assignment, you will decide how many classes you need and what methods and variables should be included in each class. Hint: you may consider the following classes (Note: this is not a complete class list):

  • GradeReportSystem: to implement all UI components and all button functions
  • GradeXMLPaser: to parse XML file
  • StudentRecord: to store each student’s record
  • Record: to store the result of each homework or exam

Application Functions Description:

  • The “Load” button is used to load the XML file and display all student names in the left side display area (using a JList).
  • The “Save” button is used to save all student records including their final grades into a text file called studentrecord.txt.
  • The “Exit” button is used to exit from the application
  • The “Query” button is used to display in the right side display area (using a JTextArea) the complete information including the final grade for a queried name. One example is:
Student Name: aaa
Homework1: 90
Homework1: 80
Homework1: 90
Homework1: 85
Homework1: 95
Homework1: 90
Exam1: 90
Exam1: 70
Exam1: 95
Final Grade: 87.3
  • [Hint: The final grade calculation formula is: (90+80+90+85+95+90)*0.08 + (90+70)*0.15 + 95*0.22]
  • If the queried student name doesn’t exist, an exception is thrown and a warning message “This student doesn’t exam in the system” should be displayed in the JTextArea.
  • If the “Query” button is clicked before the XML information is loaded, an exception is thrown and a warning message “No data has been loaded” should be displayed in the JTextArea.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.