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: