CIS355A Week3 iLab

profilebbravsj5
cis355a_w3_lab_instructions_1.docx

CIS355A Week 3 Lab

Enhanced GUI Application using Additional Swing Components

OBJECTIVES

· Create a GUI that uses JCheckBox, JRadioButton, JTextArea, and menus.

· Process multiple events.

PROBLEM: BurgersRUs Point of Sale system

Burger Barn needs a point of sale application. The products and prices are as follows.

Burgers: single $3.50, double $4.75

Add cheese: + $.50

Add bacon: + $1.25

Make it a meal: + $4.00

FUNCTIONAL REQUIREMENTS

You can code the GUI by hand or use NetBeans GUI builder interface.

The GUI should use JRadioButton to choose single or double burger.

· Single burger

· Double burger

It should use JCheckBox for add ons.

· Add cheese

· Add bacon

· Make it a meal

JTextField for item price, order quantity, order total

JTextArea to display the receipt

Create a menu with the following options.

File Order

Exit Add to Order

Clear for next item

New Order

As the user selects items, the item price should be calculated and updated accordingly.

Note that quantity should default to 1. The user can change if needed.

Once choices are made and quantity is entered, process the order using the menu options.

Order—Add to Order Displays the choice and price in each text area.

Note that multiple items can accumulate in a single order

Updates the order total

Order—Clear for next item Clears the checkboxes. Note that quantity should default to 1

Order—New Order Clears the GUI and totals for a new order

File—Exit Exits the program. Use System.exit(0) commad.

Sample GUI

GRADING RUBRIC

Functional Requirements

· All components on GUI created correctly

· Item price updated properly with radio and checkbox selections

· Items added to text area

· Total price accumulates correctly

· Clear for next item works correctly

· Clear for new order works correctly

· All prices displayed with two decimal places

· File exit works correctly

· Error messages for any invalid/missing user input using JOptionPane

40

Code style

5

Lab Report

10

TOTAL

55

CODE STYLE REQUIREMENTS

· Include meaningful comments throughout your code.

· Use meaningful names for variables.

· Code must be properly indented.

· Include a comment header at beginning of each file, example below.

/****************************************************  Program Name: ProgramName.java  Programmer's Name: Student Name  Program Description: Describe here what this program will do  ***********************************************************/

DELIVERABLES

Submit as a SINGLE zip folder

· All java files

· Lab report

Follow assignment specification regarding class/method names.

Note that your java filename must match class name (DO NOT rename).

CIS355A Week 3 Lab Instructions Page 1