Task 2 (50 marks) (Grade Processing)
In this part of your assignment you are required to produce a fully functional GUI program in accordance with the specifications mentioned below. The program will be used to determine and display the final mark of students enrolled in the “Programming in Java 2” subject. It will also have the capability to calculate and display the average mark for all students entered into the system.
Part 1 Elements of the GUI :
- An appropriate title appearing on top of the main frame of the GUI (eg. “Programming in Java 2”)
- Five text fields with appropriate labels namely “Student ID”, “Quiz”, “Assignment 1”, “Assignment 2”, and “Final Exam” to take user inputs
- One read-only text area with an appropriate label (“Results”) used to display outputs of the program
- Two buttons (“Student Mark” and “Average Mark”) used to trigger actions for calculations
- Tooltip text display for the buttons, text fields and the text area
- Three panels to be added to the main frame which will contain the other components. For example, the four text fields could be added to a panel placed to the north of the main frame, the results text area could be added to a panel to be placed to the centre of the main frame, and the two buttons could be added to a panel to be placed to the south of the main frame.
Part 2 Functionality:
- For each student, user enters “Student ID”, “Quiz”, “Assignment 1”, “Assignment 2”, and “Final Exam” marks as integers. The mark on each assessment items has to be in between 0 and 100. Input validation needs to be done on each assessment mark to make sure that the mark on each assessment is in between 0 and 100.
- User then presses the “Student Mark” button to calculate the final mark for the student. The weights on Quiz”, “Assignment 1”, “Assignment 2”, and “Final Exam” are 5%, 20%, 25% and 50%, respectively
- The button press triggers an action, which results in the calculation of the final mark in the unit. This mark is displayed in the “Results” text area with a message such as: “Final mark for 01234567: 75” where 01234567 is an 8-digit student ID
- The users of the program are allowed to enter marks for as many students as they choose
- At the end of a session, user clicks the “Average Mark” button which results in the calculation of the average mark for all students entered. This mark is displayed in the “Results” text area with a message such as: “Average mark for Java 2: 82”.