Download Quetico Trip Planner: Designing GUI with Validations & Payment - Prof. Jimmy Wayne Spence and more Assignments Introduction to Business Management in PDF only on Docsity! BCIS 3680 Enterprise Systems Problem #1: GUI Interface: Frames, Panes and Panels (Part I) Create a frame-base application that provides the functional requirements outlined below. The general objective of this application is data entry. As such, your design should strive to achieve the most accurate input possible. To that end, you will want to validate as much data as possible. When a validation error occurs, you should use a “pop-up” pane to inform the user of the existence of an error (via a descriptive error message) and you should follow that display with a “focus” operation to return the user to the field containing the problem (for data re-entry). The validations to be performed are as follows: • Group leader name—must be at least 5 characters • Party size—must be numeric and between 1 and 9, inclusive. • Number of adults—must be numeric and between 1 and party size • Trip beginning date—each piece must be numeric (and valid values for a date); it cannot be a date in the past and must not be more than 12 months into the future. • Trip ending date—each piece must be numeric (and valid values for a date); it must be a date further out than the beginning date; it cannot produce a trip duration value (difference between the beginning and ending dates, inclusive) of in excess of 30 days. • A payment type must be designated before “exit” is selected. The value for Children should be computed as the difference between party size and number of adults. This value should be dynamically updated for any change in the other two fields. The result of computation should be placed in a non- editable field. Like the Children field, Trip duration should be calculated as the difference between the beginning and ending trip dates (in days). Your computation should be inclusive of the two dates. This field, like Children, should be dynamically updated for each date change and shown in a non-editable field. Total camping fees is based on a per night fee of $20.00 for each adult and $8.00 for each child. The number of nights for which camping fees would be calculated is one day less than the trip duration (the last day of the trip does not result in a camp being established). Computation of this value should be based on the selection of the “Calculate Fees” button. This button must be selected before the “Exit” button is operational to terminate the application. Camping fees is also a non-editable field. Your frame should appear in the approximate centered the video screen (which should be determined based on the screen resolution of the system running your application), be “non-resizeable,” bear the title “Quetico Trip Planning Information” and an icon (gif file image) should appear in the upper left corner of the frame. (Any gif image will do, but canoeing or camping images are preferable.) Make the Payment type radio buttons operative in terms of capturing the information. There should be no initial selection value. However, as indicated elsewhere a selection must be made before the “Exit” button is operational to terminate the application. A series of functional command buttons should appear on the screen that allow the user to “Reset Fields,” “Calculate Fees,” and “Exit.” The “Reset Fields” button should return all fields to their initial state, i.e., each field should appear empty, as they did when the application started, all radio buttons non-selected and all check boxes empty. The “Calculate Fees” button should produce the total for camping fees for the trip. The value in this field should show currency editing. If this button is selected prior to all other data being entered, you should produce a “pop up” message suggesting that the user should complete data entry before pressing the “calculate” button. Finally, the “Exit” button should terminate the application. If no payment type has been selected, a “pop up” message should specify that a selection must be made before exiting. If total camping fees have not been computed, you should also prompt the user with an appropriate message. You should provide a series of check boxes, as indicated under “Also required”. For this application, these check boxes will not provide for any further functionality. Use the generic layout, below, as a guide to design your application screen. Your design does not have to match this organization perfectly, but should bear some resemblance (e.g., would be arranged in a usefully organized manner). Finally, you should properly document your solution with both class diagrams and Javadoc. Your class diagrams should identify all application classes and the relationships between the classes. You are to supply a folder containing standard elements (hardcopy, sample output generated, etc.) for this problem. Softcopy is to be email and should also include the requested documentation to support this application. Your “startup” code should be executable from a file designated as “Prob1Driver” found in the Problem 1 subdirectory (project) of your NetBeans solution.