FileDocCategorySizeDatePackage
SumUp.javaAPI DocExample2917Sun Feb 08 21:33:44 GMT 2004None

SumUp

public class SumUp extends Applet implements ActionListener

SumUp is a simple applet that adds up some numbers. To make this really useful for production, should implement a "little language" either in HTML PARAMs, such as

<param name="title1" value="Option One">
<param name="values1" value="0|100|200|300|400">
<param name="title1" value="Option Two">
<param name="values1" value="0|400|600|800|1000">

or
in a configuration file which we download and parse (see TreeLink.java in this directory) or load as a Properties file (see MenuIntl.java).

Also, of course, the URL to go to should be a PARAM. Not to mention the colors (see ColorName and/or XColor).

author
Ian F. Darwin, http://www.darwinsys.com/

Fields Summary
protected Choice[]
cs
The array of Choice items
protected int
numChoices
How many are actually in the array.
protected Label
resultField
The result of the summation
protected Button
sendButton
The pushbutton to send the form in
Constructors Summary
Methods Summary
public voidactionPerformed(java.awt.event.ActionEvent e)
actionPerforformed() is called when a "high level" action happens (like the user pushing a Button!) in one of the components added to this Applet.

	// 1.1
		int total = 0;
		for (int i=0; i<numChoices; i++) {
			String text = cs[i].getSelectedItem();
			// System.err.println("Selection " + i + " = " + text);
			int value = Integer.parseInt(text);
			total += value;
		}
		resultField.setText(Integer.toString(total));

		try {
			URL myNewURL = new URL(
				"http://server/cgi-bin/credit?sum=" + total);

			// System.out.println("URL = " + myNewURL); // debug...

			// "And then a miracle occurs..."
			getAppletContext().showDocument(myNewURL);

		} catch (Exception err) {
			System.err.println("Error!\n" + err);
			showStatus("Error, look in Java Console for details!");
		}
	
public voidinit()
init() is an Applet method called by the browser to initialize


	            
	   
		setBackground(Color.magenta);
		// The layout of the Applet is a Grid; always add things in pairs!
		setLayout(new GridLayout(0,2));
		Choice c;
		add(new Label("Option 1"));
		add(c = new Choice());
			c.addItem("0");
			c.addItem("100");
			c.addItem("200");
			c.addItem("400");
		cs[numChoices++] = c;

		add(new Label("Option 2"));
		add(c = new Choice());
			c.addItem("0");
			c.addItem("100");
			c.addItem("200");
			c.addItem("400");
		cs[numChoices++] = c;

		Panel p = new Panel();
		p.setBackground(Color.pink);
		p.add(new Label("Total:"));
		p.add(resultField = new Label("000000"));
		add(p);

		sendButton = new Button("Send it");
		add(sendButton);						// connect Button into Applet
		sendButton.addActionListener(this);		// connect it back to Applet