Contact List Sort

Part I.

Every year about this time, graduating students begin (at least they should) to think of sending commencement invitations to their friends and loved ones. It is often difficult to keep track of the addresses, and who they have sent inventations to and/or who they need to thank for gifts. You decide that you are going to make a Java program that helps sort through this data. Your program will allow the user to sort and view the data in a variety of ways, as well as search for a particular contact.

In this assignment, your program will read a data file (use BufferedReader) of names, addresses, and other information about the people on our list. The information in the file will have the following format: The first line is a single integer on a line by itself which is the number of contacts in our list. Following that, there is one line for each contact, and the line contains the following information separated by commas: first name, last name, address, whether an invitation was sent to them (true/false), whether a gift was received from them (true/false), and if a thank you note has been sent to them (true/false). For example, here is a sample line from the file:

Abigail,Evans,3967 333rd Ave.,true,false,false

You can download a file for testing from the following link:

[url removed, login to view]

(Disclaimer: the data in this file was created randomly using a list of common names, and the addresses are generated with random numbers. Any similarity to any person living or dead is purely coincidental.)

All the data in the file will be loaded into a single ArrayList of Contact objects. Each element of the ArrayList will be a reference to a single instance of the class Contact. The Contact class then should have instance variables for the first name, last name, address, a "sent flag", a "gift received flag", and a "thanked flag." The flags can be boolean variables.

Once all the data is loaded into the ArrayList, you can display the data in your GUI. The data will be displayed in a tabular format as shown in the above screenshot. This is accomplished with a JTextArea object embedded within a JScrollPane object. You must make sure that the Font for the JTextArea is a "Monospaced" font, in order to help line up the columns correctly (See the appendix and/or section 13.9 on page 889). Also, in order to line up the columns, you will need to "pad" each column with an appropriate number of spaces. I suggest you write a method with the signature:

private String padTo( String s, int width )

This method will add several spaces to the end of s, enough so that it is width in length. Then it will return the new "padded" String. Note that if s is longer than width characters, the return value should be a substring of s that is width characters long. This method padTo can then be used to help with the display of the data in the JTextArea.

Your program will also have several buttons for sorting/displaying the data. When the user clicks on the "First Name" button, the data will be sorted in the array by first name, and then re-displayed in the JTextArea. When the user clicks on the "Last Name" button, the data will be sorted by last name, and re-displayed in the JTextArea. When the user clicks on the "Not yet invited" button, the order of the data will not change, but only contacts who have not been sent invitations will be shown. When the user clicks on the "Need to thank" button, only contacts who the user has received gifts from but has not sent thank you notes to will be shown (again, the order will not change).

Skills: Java

See more: assignment, java assignment, GUI Testing, java contact list, contact sorting method java, width first search, thank you note sample, thank you notes, thank you note, substring search, substring in c, substring c, sort sort sort, sort sort, sorting method, sort array list in java, sort array c, search substring, search string in array, sample thank you notes, sample thank you note, program invitation sample, people gifts, not yet received, java sort arraylist of objects

About the Employer:
( 0 reviews ) United States

Project ID: #4514584

35 freelancers are bidding on average $80 for this job


Java Expert! Interested in doing this project.

$54 USD in 1 day
(284 Reviews)

Hi, I am Java expert and confident to handle this project. Thanks

$54 USD in 2 days
(184 Reviews)

Hi, I am expert at Java and can surely satisfy you. Please check your inbox,

$52 USD in 0 days
(86 Reviews)

Hello, I could help you with your project. BR

$50 USD in 3 days
(52 Reviews)

Hi I can help you, please check your pm, thanks.

$64 USD in 2 days
(49 Reviews)

Hello Sir, Interested in doing this project. Thanks.

$50 USD in 2 days
(21 Reviews)

I can help you.

$79 USD in 1 day
(44 Reviews)

Experienced java developer.

$105 USD in 3 days
(30 Reviews)

Hello, I am Oracle certified professional java programmer, I can help you. thanks

$54 USD in 1 day
(28 Reviews)

Would be my pleasure to work on this project. Kind regards, Rumen

$45 USD in 3 days
(20 Reviews)

Hello. I am interested in Your project.

$210 USD in 30 days
(4 Reviews)

i have 4+ years experience in java. i can help you.

$35 USD in 0 days
(11 Reviews)

Hi, I'm a Sun Certified Java Programmer with a lot of experience in creating stand-alone applications, including GUIs, and I can create this for you quickly and professionally.

$88 USD in 2 days
(1 Review)

hello sir, please check your PM

$50 USD in 3 days
(2 Reviews)

Pl see PMB.

$30 USD in 1 day
(2 Reviews)

i can work this out for you java, JTextArea, string, pls check pmb.

$134 USD in 1 day
(1 Review)

I can do this ..please see my pm

$55 USD in 0 days
(1 Review)

I will give you the project by today itself. And regarding my Skills: Work 4 years as a Software Developer. Familiar with Enterprise technologies (Different Application Servers) and many programming More

$45 USD in 1 day
(0 Reviews)

I am currently working at Oracle as a java developer. I handled so many requirements like the one you mentioned . I can handle this easily. Please check out my profile and let me know if you are interested in giving t More

$77 USD in 3 days
(0 Reviews)

This seems like a project that requires simple yet efficient coding, proper GUI design and data management. I am skilled in Java Programming and I have developed similar projects like this while in school and since I h More

$155 USD in 3 days
(0 Reviews)