Java applied project
Goals
The students will demonstrate:
Description
The students will design and build a contact management program. The software will be able to store information for two different types of contacts:
Personal
name
address
city
province
phone number
extension
notes
Company
Name
Primary Contact Name
address
city
province
phone number
extension
notes
The information will be stored in a Vector object for easy retrieval. A JFrame will be used to display a list of Company and Personal Names.
Two Buttons will be available to create new entries: "New Company", "New Contact"
Selecting an entry will bring up a different window depending on if they selected a Company or a Person, but regardless, these windows will display the name of the contact in a JLabel, and JTextfields for the rest. A Save and Delete button will be available.
Design Features
The data for each entry should be placed in either a company or Person object
Due to similarities, some form of inheritance between the two data classes
Windows should be laid out properly using layout managers
In addition to the other listeners, create a Window Listener by implementing WindowListener. Most of the methods can be left blank except windowClosing( ) and windowClosed( ). In windowClosing( ) call the main window's "dispose( )" method to close the window, then in windowClosed( ) call "System.exit()" to shut the program down.
Marking Guidelines
Functional 20 marks
Program Complies and Runs
Main Window Resizable
JVM Shuts down when main window closed.
Able to view records from list
Able to add new Persons
Able to add new Companies
Able to delete Persons
Able to delete Companies
Able to edit Persons
Able to edit Companies
Design 20 marks
Proper use of listeners
void main( ) merely boots the system
Use of package keyword
Use of data classes (eg: Company)
Inheritance in use in data classes
Layout 10 marks
Proper indentation followed
Consistent brace style
Javadoc comments