/* @(#)SumPanelWithHalo.java 15 September 2006 */ import edu.neu.ccs.gui.*; 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 VTable mainPanel = new VTable(mainStuff, 10, 10, CENTER); public SumPanelWithHalo() { add(new Halo(mainPanel, 10, 10)); addListeners(); } 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); } public static void main(String[] args) { new SumPanelWithHalo().frame("Sum Panel"); } }