//   Author: Brian C. Hoffman
//     File: CalculatorGUIApplet.java
// Abstract: An applet that shows how to build a GUI for a calculator. 
//             
//  Revision History:      	Date (Due Date)	   Who	 Description
// -----------------------------------------------------------------------------
//		                    2/12/03            BCH	 Initial Release
//
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CalculatorGUIApplet extends JApplet
{
    // declare the button panel and buttons that make the calculator work
    private JTextField display;
    private JPanel buttonPanel; 
    private JButton clrButton, rParenButton, lParenButton, divideButton;
    private JButton sevenButton, eightButton, nineButton,  multButton;
    private JButton fourButton, fiveButton, sixButton, addButton;
    private JButton oneButton, twoButton, threeButton, minusButton;
    private JButton zeroButton, decimalButton, powButton, equalButton;
    
    // initialize the applet and create the GUI
    public void init()
    {
       // create the button pannel and set its layout manager        
       buttonPanel = new JPanel();
       buttonPanel.setLayout(new GridLayout(5,4));
      
       // build the buttom panel one row at a time
       // row 1
            clrButton=new JButton("Clr");
            buttonPanel.add(clrButton);
            lParenButton=new JButton("(");
            buttonPanel.add(lParenButton);
            rParenButton=new JButton(")");
            buttonPanel.add(rParenButton);
            divideButton=new JButton("/");
            buttonPanel.add(divideButton);

       // row 2
            sevenButton=new JButton("7");
            buttonPanel.add(sevenButton);      
            eightButton=new JButton("8");
            buttonPanel.add(eightButton);       
            nineButton=new JButton("9");
            buttonPanel.add(nineButton);
            multButton=new JButton("*");
            buttonPanel.add(multButton); 
     
       // row 3
            fourButton=new JButton("4");
            buttonPanel.add(fourButton);
            fiveButton=new JButton("5");
            buttonPanel.add(fiveButton);
            sixButton=new JButton("6");
            buttonPanel.add(sixButton);           
            addButton=new JButton("+");
            buttonPanel.add(addButton);
            
       // row 4
            oneButton=new JButton("1");
            buttonPanel.add(oneButton);
            twoButton=new JButton("2");
            buttonPanel.add(twoButton);
            threeButton=new JButton("3");
            buttonPanel.add(threeButton);
            minusButton=new JButton("-");
            buttonPanel.add(minusButton);

         // row 5
            zeroButton=new JButton("0");
            buttonPanel.add(zeroButton);
            decimalButton=new JButton(".");
            buttonPanel.add(decimalButton);
            powButton=new JButton("^");
            buttonPanel.add(powButton);
            equalButton=new JButton("=");
            buttonPanel.add(equalButton);

        // create the display area 
        display = new JTextField("0");
        display.setEditable(false);

       //add everything to the applet
       Container contentPane = getContentPane();
       contentPane.add(display, "North");
       contentPane.add(buttonPanel, "Center");
    }
}// end CBoxApplet

