420,503 views
14 votes
14 votes
JavaFX application for the Sublime Sandwich Shop. The user can order sandwiches by using list boxes and the application displays the price. Each sandwich should allow a choice of at least three main ingredients (chicken, for example) at three different prices. The user should also be able to choose between three different bread types. Use CheckBoxes for additional ingredients - lettuce, tomato, etc.

Create an ArrayList to hold all of the sandwiches associated with an order. Display information about all the sandwiches that were ordered.

User David Guerrero
by
2.5k points

1 Answer

20 votes
20 votes

Answer:

package GUI;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

// Class SandwichShop definition

public class SandwichShop

{

// Creates a string array for sandwich ingredients

String sandwichIngredients [] = {"Chicken", "Mutton", "Veg"};

// Creates a string array for bread types

String breadTypes[] = {"Bloomer", "Cob", "Plait"};

// Container object declared

JFrame jf;

JPanel p1, p2, p3, p4, mainP;

// Component object declared

JList ingredient, bread;

JLabel ingL, breadL, amountL;

JTextField amountT;

JButton amountB, exitB;

// Default constructor definition

SandwichShop()

{

// Creates frame

jf = new JFrame("Sandwich Shop");

// Creates panels

p1 = new JPanel();

p2 = new JPanel();

p3 = new JPanel();

p4 = new JPanel();

mainP = new JPanel();

// Creates list box and adds string array

ingredient = new JList<String>(sandwichIngredients);

bread = new JList<String>(breadTypes);

// Creates labels

ingL = new JLabel("Select Sandwich Ingredients");

breadL = new JLabel("Select Bread Types");

amountL = new JLabel("Amount: ");

// Creates text field

amountT = new JTextField(5);

// Creates buttons

amountB = new JButton("Check Amount");

exitB = new JButton("Exit");

// Adds components to panels

p1.add(ingL);

p1.add(ingredient);

p2.add(breadL);

p2.add(bread);

p3.add(amountL);

p3.add(amountT);

p4.add(amountB);

p4.add(exitB);

// Adds panels to main panel

mainP.add(p1);

mainP.add(p2);

mainP.add(p3);

mainP.add(p4);

// Set the main panel layout to 4 rows and 1 column

mainP.setLayout(new GridLayout(4, 1));

// Adds main panel to frame

jf.add(mainP);

// Sets the frame visible property to true

jf.setVisible(true);

// Set the size of the frame to width 400 and height 150

jf.setSize(400, 300);

// Registers action listener to exit button using anonymous class

exitB.addActionListener(new ActionListener()

{

// Overrides the actionPerformed() method

public void actionPerformed(ActionEvent ae)

{

System.exit(0);

}// End of method

});// End of anonymous class

// Registers action listener to amount button using anonymous class

amountB.addActionListener(new ActionListener()

{

// Overrides the actionPerformed() method

public void actionPerformed(ActionEvent ae)

{

// Extracts index of the selected item from the list box

int indexIngredient = ingredient.getSelectedIndex();

int indexBread = bread.getSelectedIndex();

// Checks if ingredient index is 0 and bread index is 0

// then set the amount 100 in text field

if(indexIngredient == 0 && indexBread == 0)

amountT.setText("100");

// Checks if ingredient index is 0 and bread index is 1

// then set the amount 120 in text field

if(indexIngredient == 0 && indexBread == 1)

amountT.setText("120");

// Checks if ingredient index is 0 and bread index is 2

// then set the amount 160 in text field

if(indexIngredient == 0 && indexBread == 2)

amountT.setText("160");

// Checks if ingredient index is 1 and bread index is 0

// then set the amount 190 in text field

if(indexIngredient == 1 && indexBread == 0)

amountT.setText("190");

// Checks if ingredient index is 1 and bread index is 1

// then set the amount 205 in text field

if(indexIngredient == 1 && indexBread == 1)

amountT.setText("205");

// Checks if ingredient index is 1 and bread index is 2

// then set the amount 210 in text field

if(indexIngredient == 1 && indexBread == 2)

amountT.setText("210");

// Checks if ingredient index is 2 and bread index is 0

// then set the amount 97 in text field

if(indexIngredient == 2 && indexBread == 0)

amountT.setText("97");

// Checks if ingredient index is 2 and bread index is 1

// then set the amount 85 in text field

if(indexIngredient == 2 && indexBread == 1)

amountT.setText("85");

// Checks if ingredient index is 2 and bread index is 2

// then set the amount 70 in text field

if(indexIngredient == 2 && indexBread == 2)

amountT.setText("70");

}// End of method

});// End of anonymous class

}// End of default constructor

// main function definition

public static void main(String[] args)

{

// Creates an anonymous object by calling default constructor

new SandwichShop();

}// End of main method

}// End of class

Output:

JavaFX application for the Sublime Sandwich Shop. The user can order sandwiches by-example-1
User Stanko
by
2.5k points