// Program 16.2: GridLayout Example import java.applet.Applet; import java.awt.Checkbox; import java.awt.Label; import java.awt.TextField; import java.awt.Event; import java.awt.GridLayout; public class Ingredients2 extends Applet { /* You need access to t from the handleCheckbox method so make it a field. */ TextField t; float price = 7.00f; public void init() { setLayout(new GridLayout(11,1)); add(new Label("What do you want on your pizza?", Label.CENTER)); add(new Checkbox("Pepperoni")); add(new Checkbox("Olives")); add(new Checkbox("Onions")); add(new Checkbox("Sausage")); add(new Checkbox("Peppers")); add(new Checkbox("Extra Cheese")); add(new Checkbox("Ham")); add(new Checkbox("Pineapple")); add(new Checkbox("Anchovies")); t = new TextField("$" + String.valueOf(price)); t.setEditable(false); // so people can't change the price of the pizza add(t); } public boolean action(Event e, Object o) { if (e.target instanceof Checkbox) { return handleCheckbox((Checkbox) e.target); } else { return false; } } private boolean handleCheckbox(Checkbox c) { if (c.getState()) price += 0.50f; else price -= 0.50f; // Change the price t.setText("$" + String.valueOf(price)); return true; } }