write a Java Application that uses an interactive Graphical User Interface (GUI) based on the JFrame class using SWING GUI components
- Country :
Australia
Objectives
- Analyse, develop, and implement software solutions
- Choose and compare appropriate data structures in program design
- Apply classes, inheritance, polymorphism, and exception handling
- Test software implementations to ensure correctness and maintainability
Assessment Task
In this assignment, you are required to write a Java Application that uses an interactive Graphical User Interface (GUI) based on the JFrame class using SWING GUI components. You will also be designing and implementing the software solution using appropriate data structures and application of classes, inheritance, polymorphism, and exception handling. The case study for developing a solution is given below.
Year 11 and 12 students study subjects generally known as Authority subjects or Authority registered subjects. There are many assessments for these subjects in different formats and the grade of these assessments are summative contributing to a student’s final result. Entrance to further studies are based on this result and therefore, grades of assessments are critically monitored by students, and their parents. Your task is to develop a Java Application for the parents and their year 11/12 kids to monitor academic performance easily. The java application should allow the user to enter student details, and assessments for each subject. Once the assessment results are available the user should be able to set the grade for the assessment including explanatory notes. User should be able to view the subjects enrolled, all assessments for a chosen subject, and all marked assignments with their grades.
1. Graphical User Interface
The application should contain a GUI as shown below. The GUI components should consist of the following panels.
- A top panel that contains two (2) Text Fields, three Combo Boxes (drop down list), five Labels.
- A middle panel that contains a Text area to display the Assessment list for a subject or assessment details for a chosen assessment.
- A bottom panel that contains seven Buttons which are “Create Student”, “Load Assessments”, “Display Assessments”, “Set Grade”, “Display Grade” and “Quit”.
The functions of the seven buttons are described below.
- Create Student
Initially the ‘Create Student’ button remains disabled. The user enters the Student Name and Year Level using the fields on the GUI. This creates a student object. Once the student object is created three core subjects of English, Mathematics B, and Biology, and the chosen elective subjects of, Business and Communication Technologies, and Religion and Ethics are added to the student object. This is done to simplify the process of going through adding each subject.
Figure 1 Display after entering Student Name and year Level
Figure 2 Display after Create Student
- Load Assessments
Initially the ‘Load Assessments’ Button remains disabled as shown in Figure 1. This will be enabled after the ‘Create Student’ button is clicked creating a student object. The ‘Load Assessments’ Button can be used to read the data file which contains the Assessment List for all the subjects. After loading the file, the loaded Assessment details are added to the corresponding subjects. The first field in each assessment item in the file is the subject name and this should be used to correctly add the assessments to the corresponding subjects. The ‘Load Assessments’ Button should also populate the Combo Boxes for Subjects, Assessments, and Achievements with corresponding set of values.
Figure 3: Assessment Loaded
- Display Assessments
This should display all the assessment details of a chosen subject in the Text Area as shown in Figure 4. The last value ‘false’ indicates the assessment item is not yet graded. You can use ‘not graded’ instead of false which may be more meaningful.
Figure 4: Display Assessment
- Set Grade
Clicking on the “Set Grade” button allows the user to enter the Achievements for a chosen Assessment Item. The grading contains levels of achievements, knowledge, and skill. These values are given in the following Table 2. Once the user selects the achievements level using the Combo Box, corresponding levels of knowledge and skill should be added.
- Display Grade
This can be sued to display the grades of various assessments set already in the TextArea as shown in Figure 5.
Figure 5: Display Grade
- Clear Display
User clicks this button to clear the TextArea, TextFields and set the ComboBoxes to the default value.
- Exit
This should allow the user to quit the application.
- Data Structures
The relationships between classes is shown in Figure 6.