/* @(#)SumPanelWithHalo.java 22 September 2005 */ /* Useful imports */ import edu.neu.ccs.*; import edu.neu.ccs.gui.*; import edu.neu.ccs.codec.*; import edu.neu.ccs.console.*; import edu.neu.ccs.filter.*; import edu.neu.ccs.jpf.*; import edu.neu.ccs.parser.*; import edu.neu.ccs.pedagogy.*; import edu.neu.ccs.quick.*; import edu.neu.ccs.util.*; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.font.*; import java.awt.image.*; import javax.swing.*; import javax.swing.border.*; import java.io.*; import java.util.*; import java.math.*; import java.beans.*; import java.lang.reflect.*; import java.net.URL; import java.util.regex.*; import java.text.ParseException; public class SumPanelWithHalo extends TablePanel { private static int width = TextFieldView.getSampleWidth(20, '0'); private TextFieldView view1 = new TextFieldView("0", width); private TextFieldView view2 = new TextFieldView("0", width); private TextFieldView view3 = new TextFieldView("0", width); private TextFieldView view4 = new TextFieldView("0", width); private TextFieldView total = new TextFieldView("0", width); private SimpleAction sumAction = new SimpleAction("Sum Data") { public void perform() { sum(); } }; private Object[][] dataStuff = new Object[][] { { "x1", new Halo(view1) }, { "x2", new Halo(view2) }, { "x3", new Halo(view3) }, { "x4", new Halo(view4) }, { "total", new Halo(total) } }; private TablePanel dataPanel = new TablePanel( dataStuff, 10, 10, WEST); private Object[] mainStuff = new Object[] { dataPanel, sumAction }; private TablePanel mainPanel = new TablePanel( mainStuff, VERTICAL, 10, 10, CENTER); public SumPanelWithHalo() { add(new Halo(mainPanel, 10, 10)); addListeners(); frame("Sum Panel With Halo"); } private void sum() { double x1 = view1.demandDouble(); double x2 = view2.demandDouble(); double x3 = view3.demandDouble(); double x4 = view4.demandDouble(); double x = x1 + x2 + x3 + x4; total.setViewState(x + ""); } private void addListeners() { view1.addActionListener(sumAction); view2.addActionListener(sumAction); view3.addActionListener(sumAction); view4.addActionListener(sumAction); } }