EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
8th Edition
ISBN: 9781305480537
Author: FARRELL
Publisher: CENGAGE LEARNING - CONSIGNMENT
bartleby

Concept explainers

bartleby

Videos

Expert Solution & Answer
Book Icon
Chapter 14, Problem 1CP

Explanation of Solution

Program:

File name: “JCarlysCaterring.java

//Import necessary header files

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

//Define a class named JCarlysCatering

public class JCarlysCatering extends JFrame implements ItemListener, ActionListener

{

    //Construct a new FlowLayout object

    FlowLayout flow = new FlowLayout();

//Create a JTextField component for capturing number of //guests

    JTextField guestsField = new JTextField(8);

    //Create a label with the text "Please enter number of //guests"

JLabel guestsLabel = new JLabel("Please enter number of guests");

    //Define CheckBoxes to capture user input for main course,

    //side, items, and desert.

    JCheckBox beefBox = new JCheckBox("Beef", false);

    JCheckBox chickenBox = new JCheckBox("Chicken", false);

    JCheckBox fishBox = new JCheckBox("Fish", false);

    JCheckBox pastaBox = new JCheckBox("Pasta", false);

    JCheckBox saladBox = new JCheckBox("Salad", false);

    JCheckBox vegBox = new JCheckBox("Mixed vegetables", false);

    JCheckBox potBox = new JCheckBox("Baked potato", false);

    JCheckBox breadBox = new JCheckBox("Garlic bread", false);

    JCheckBox cakeBox = new JCheckBox("Chocolate cake", false);

    JCheckBox pieBox = new JCheckBox("Apple pie", false);

JCheckBox pudBox = new JCheckBox("Butterscotch pudding", false);

    //Create a label with the text "Carly's Catering"

    JLabel mainLabel = new JLabel("Carly's Catering");

    //Set the font style of mainLabel contents

    Font font = new  Font("Ariel",Font.ITALIC, 30);

    //Create a label with the text "Total"

    JLabel label2 = new JLabel("Total");

    //Create a label with the text "Select options"

    JLabel label1 = new JLabel("Select options");

    JLabel totPrice = new JLabel();

    //Initialize the required variables

    double price = 0;

    String entreeString = "";

    String sideString = "";

    String dessertString = "";

    String output;

    int numSelected = 0;

    //Define a default constructor

    public JCarlysCatering()

    {

        //Set the title of the JFrame container

        super("Menu options");

        //Set the close and layout of the JFrame container

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setLayout(flow);

        //Define a ButtonGroup object entreeGroup

        ButtonGroup entreeGroup = new ButtonGroup();

  //Add the check boxes for the main menu items

        //to the entreeGroup

        entreeGroup.add(beefBox);

        entreeGroup.add(chickenBox);

        entreeGroup.add(fishBox);

        entreeGroup.add(pastaBox);

        //Define a ButtonGroup object dessertGroup

        ButtonGroup dessertGroup = new ButtonGroup();

        //Add the check boxes for the dessert menu items

        //to the dessertGroup

        dessertGroup.add(cakeBox);

        dessertGroup.add(pieBox);

        dessertGroup.add(pudBox);

        //Add respective components in an

        //order to the container

        add(mainLabel);

        add(guestsLabel);

        add(guestsField);

        add(label1);

        add(beefBox);

        add(chickenBox);

        add(fishBox);

        add(pastaBox);

        add(saladBox);

        add(vegBox);

        add(potBox);

        add(breadBox);

        add(cakeBox);

        add(pieBox);

        add(pudBox);

        mainLabel.setFont(font);

        add(label2);

        add(totPrice);

        totPrice.setText("$0");

        //Add the item listener to the buttons

        guestsField.addActionListener(this);

        beefBox.addItemListener(this);

        chickenBox.addItemListener(this);

        fishBox.addItemListener(this);

        pastaBox.addItemListener(this);

        saladBox.addItemListener(this);

        vegBox.addItemListener(this);

        potBox.addItemListener(this);

        breadBox.addItemListener(this);

        cakeBox.addItemListener(this);

        pieBox.addItemListener(this);

        pudBox.addItemListener(this);

    }

    //Override method

    @Override

    public void actionPerformed(ActionEvent e)

    {

        //Get the source

        Object source = e.getSource();

        final int PRICE_PER_GUEST = 35;

        //Check whether the text filed

        if(source == guestsField)

        {

            //Try block

            try

            {

                //Calculate the price

price = Integer.parseInt(guestsField.getText()) * PRICE_PER_GUEST;

            }

            //Catch exception

            catch(Exception exc)

            {

                //Set the number of quests to zero

                //when non-numeric value is entered

                price = 0;

            }

            //Set the output string

output = "$" + price + " Menu includes " + entreeString +

            sideString + dessertString;

            totPrice...

Blurred answer
Students have asked these similar questions
As3...Write a GUI program that converts degree from radian and vice versa over the range 0-360 of degree and add a BUTTON to calculate cosine (It will calculate cosine of degree when we click on the BUTTON)
MFC  In the second part of your project, you need to develop a mathematical worksheet graphical interface for elementary school students. The worksheet consists of 10 questions of operations between two random numbers. The operations are defined randomly from the set {+, -, *, /}. The GUI uses a text field to enter the maximum value of random numbers. A button with the caption "Check Answers" should be added to the GUI, and when clicked, a correct icon () should appear in front of the correct answer and an incorrect icon
Write a JFrame that uses two text boxes to accept two integer numbers. When the user clicks the button "Calculate", arithmetic operations can be performed and the results of the operations can be output. the results of the operations are placed in the multi-line text area JTtextArea component. The GUI interface reference is as follows. When doing division, if the remainder is 0, the integer quotient will be displayed, otherwise, a floating point number with two decimal places will be displayed.

Chapter 14 Solutions

EBK JAVA PROGRAMMING

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Time Complexity Analysis - How To Calculate Running Time | InterviewBit; Author: InterviewBit;https://www.youtube.com/watch?v=--oxG4Q1PA0;License: Standard YouTube License, CC-BY