Uploaded by shameerahmad07

Exercises GUI

STIA1014 Exercise on GUI
1. Mamat’s Service Center (MSC) performs some basic automotive maintenance services. The
type of services and its respective charges are listed below:
Service Type
Oil change
Radiator flush
Transmission flush
Exhaust replacement
Charge (RM)
MSC gives a discount of 10% from the total charge to a client who is a registered member of
its service center. In the figure below is the GUI for the MSC application that allows a user to
calculate the total charge based on the type of services selected by the user. The user needs
to enter the registration number of the vehicle to be serviced in a text field and selects the
type of services that need to be performed. The selection is done by clicking the respective
radio buttons associated with the services as shown in the figure. The user also needs to
specify from the combo box whether the customer is a member of MSC or not. Finally,
when the user clicks the calculate button the program will display the output containing the
vehicle registration number and the calculated total charge (minus discount if it is given) in
the text area.
Based on the description given, write the MSC GUI application above with an event-handling
method for the Calculate button, calcBtn.
2. A local company pays its employees based on the number of hours they work in a week.
The rate per hour depends on the type of the employees as shown below:
Employee Type
Hourly Rate(RM)
If an employee works more than 40 hours, he/she will be paid an overtime rate for the number
of excess hours (above the 40 hours) he/she works. The overtime rate is RM100 per hour
regardless of the type of the employee. An employee who is a member of a worker’s union
must pay union fee of RM50 per week.
The company wants you to write an application that can calculate and print the weekly pay for
its employees. Gross pay is the amount of pay before the union’s fee is deducted and Net pay is
the amount of pay after the union’s fee is deducted. Two sample running of the application’s
GUI are shown below:
The application uses two classes, Employee and PayCalculatorUI, as shown in the UML
class diagrams below:
empID : String
hours : double
type : String
member : boolean
+ Employee(String empID, double hours, String
type, boolean member)
+ computeGrossPayl(): double
+ computeNetPay(double grossPay): double
//GUI components not shown here
+ PayCalculatorUI ()
- displayBTNActionPerformed (): void
The application PayCalculatorUI creates an Employee object to calculate an employee’s
Gross pay and Net pay. The Employee class constructor requires FOUR (4) parameters which
employee id, hours worked, employee type and membership status. The
computeGrossPay() and computeNetPay() methods calculate and return the employee’s gross
pay and net pay respectively.
The PayCalculatorUI class has:
 Method displayBTNActionPerformed() to handle the ‘Display Pay’ button. This method
reads the four inputs, creates the Employee object and gets the gross pay and net pay by calling
the computeGrossPay()and computeNetPay() methods respectively, and displays the
employee information in the output text area.
 GUI component objects which are shown in the sample running above.
Based on the provided information above, write the Weekly Pay calculator application by
defining the Employee and PayCalculatorUI classes.