Details

advertisement

CMIS242 - Project #3

Student Records GUI

Total: 130 points - 15 % of the final grade

Course Outcome The java project is intended to demonstrate your knowledge of the following:

Implement simple GUI applications using Java Swing classes

Use interfaces to capture user events from simple Graphical User Interfaces

Use inheritance

Select and apply algorithms for processing data in an ArrayList object

Increase robustness of Java applications using exception handling

Introduction This project focuses on demonstrating your understanding of OOP including reading data from an input file and processing the data to make a list of Student objects. Finally, the student records in the list are displayed on a GUI . The program ends only if a button provided on the GUI is pressed. Before attempting this project, please complete all of the reading assignments listed in the syllabus, and participate in the weekly conferences. If you have any questions on the programming concepts please ask them.

Project Grading: Before you start the project, please read the grading criteria in the attached

CMIS_242_Project_Grading.doc file.

 

Project Requirements/Functionality ( Total 130 points) :

Write a GUI application, which iterates through a list of Student objects and displays the data of each Student object using a graphical User Interface(GUI).

You will use the Person, Student and Address classes that you wrote in the first project for this application. The program ends only if a button provided on the GUI is pressed. That is, all exceptions that may occur must be handled.

Here are the requirements of the project.

A)( Total 30 pts) Read the input file and process ( be sure to use exception handling):

• ( 10 pts)Use an input file to read student data ( names, date of birth, address etc.).

• ( 10 pts) Create Student objects using the input file

• ( 10 pts) Add the Student objects to a generic ArrayList object.

Note: You must use the Person/Address/Student classes from Project 1 else you will receive only 10 pts for this part of the project.

B)( Total 100 pts)  –   Design multiple windows to function as follows ( be sure to use exception handling ):

( 25 pts) First display an initial GUI to the user, asking the user to select the language of his choice for the GUI. Use a Combo Box to show the choice of language options ( e.g.

English and Spanish).

( 75 pts) Once the user selects the language, display the second window, a GUI similar to the images above with the selected language. Cell phone is optional. The GUI should display the Student objects in the ArrayList object . If ArrayList object is not used to hold the Student objects , 30 pts will be deducted for this part of the project . You may use a GUI similar to the images below to manipulate the list:

The GUI should have at least the following components to allow the user to perform the following actions: i.

ii.

iii.

iv.

v.

( 10 pts) “First” button should show the first record/object in the list.

( 10 pts) “Next” button should show the next record/object in the list if any.

( 10 pts) “Previous” button should show the previous record/object in the list if any.

( 10 pts) “Last” button should show the last record/object in the list.

( 10 pts) “ ViewAll” button should show all the Student objects in the list.

You may use a TextArea component or display the list using another window to the user.

vi.

vii.

viii.

ix.

( 5 pts) “Clear” button should clear the textfields.

( 5 pts) “Exit” button should exit the application.

( 10 pts) Tooltips with components to guide the user

( 5 pts) An image on the GUI such as the UMUC logo

//All the above requirements were met.

Extra Credit (10 points): o

Add an “Add” button to add new Student objects to the list and print the revised list to an output file. o

Add an “Update” button to update a record/object in the list ( e.g. address, phone number etc)

//The add and update buttons are created and work.

Please zip the following source files (only the java files not the class files) and submit the completed application using the Assignments folder of WebTycho. :

Person .java

Address.java (recommended)

StudentRecordsGUI.java

input.txt

any other file(s) that you may have used

Download