I just now got assignment from Sun . Mine is Bodgitt and Scarper.
I have some questions in GUI area.
1. My Requirement document says
It must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user.
It must present search results in a JTable.
It must allow the user to book a selected record, updating the database file accordingly.
And this is how I've built my GUI front-end client.
a) Border Layout (North) - one JPanel contains
2 labels and its corresponding textfields - Name and Location
2 buttons - Search and Reset (this reset button will clear the content of 2 text fields and table)
b) Border Layout (Center) - one JPanel contains
a table (non-editable rows) with following columns - Name, City, Specialties, Total staffs, Hourly charge, Owner
c) Border Layout (South) - one JPanel contains
2 buttons - Reserve and Unreserve (this Unreserve button will remove the existing reservation)
1.1 I hope my GUI is enough to supply all it needs. Am I correct in this?
1.2 I also included Unreserve button to remove the existing reservation on particular contractor(though it's nowhere specified in the req doc). Would it be a problem? Or simply shall I exclude this button from GUI?
1.3 I feel my GUI is very simple - just contains 2 textfields (corresponding labels), 2 buttons and 1 table (if Reset and Unreserve buttons are excluded)
2. I've set my frame (JFrame)'s minimum size is 500, 500 (which will be the best size to view) and no maximum size (so can be maximized as much as user wish). Should I exclude this minimum size setting option? (Since some panels are in flowlayout, less than 500, 500 size, will cause the fields to move to next line - that wouldn't be looking good)
3. I think the columns which I'm using in the JTable are enough for the user? or do I have to include or exclude some fields from/to the table?
4. I have set the table's selection mode to single selection mode. Is this fine?
5. What is this? from Requirement in GUI area :
Your user interface should be designed with the expectation of future functionality enhancements, and it should establish a framework that will support this with minimal disruption to the users when this occurs.
1/ My GUI contains nothing more than yours, so it is simple but nothing more is needed. I don't have a "unreserve" button because it is not required, so why would you spend your time to implement unneeded functionality.
2/ I believe I also applied a minimum size to my client application window.
3/ I showed all columns from my database file in the JTable 4/ I have also single selection mode.
5/ It means what it says: your GUI should be designed so functionality enhancements can be easily done. for example you don't need to re-engineer your complete user interface to add an extra search input field or an extra button to create new contractors.