package confidence;


import java.applet.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
import edu.csusb.danby.applet.*;

/**
* ConfidenceApplet.java illustrates hypothesis testing for  proportions
* @author Charles Stanton
* @version Sun Jul 28 15:20:40 PDT 2002
*/
public class ConfidenceApplet extends DApplet {
    ConfidencePanel cp;
    ConfidenceModel cm;
    int n=20;    //number of datapoints
    int nTrials=20;
    int cvIndex=1;

/** 
*initialization method
*/
    public void init() {
        DMenu fileMenu, clMenu;
        DControlPanel controlPanel;
        String[] fileMenuItems={"exit"};
        String[] clItems={"0.1","0.05","0.01"};
        String[] buttonName ={"play"};
        JMenuBar menubar = new JMenuBar();

        cm = new ConfidenceModel(n,nTrials);
        cp = new ConfidencePanel(cm);
        dFrame = new DFrame("Hypothesis Testing",cp);
        dFrame.setJMenuBar(menubar);
        //set up file menu
        fileMenu = new DMenu(this, "file", fileMenuItems );
        menubar.add(fileMenu);
        //set up confidence level menu--radio, and by index:
        clMenu = new DMenu(this, "confidence level", clItems,true,true);
        clMenu.setSelectedItem(1);
        menubar.add(clMenu);
        //set up controlPanel
        controlPanel = new DControlPanel(dFrame,this,buttonName);
        dFrame.validate();
        setVisible(true);	
    }

    
    /**
    * override DApplet.menuAction() to provide menu actions
    * 
    * @param menuLabel the label for the activated menu
    * @param menuItemLabel the label for the activated item
    */
    public void menuAction( String menuLabel, String itemLabel){
        if (menuLabel.equals("file")){
            if (itemLabel.equals("exit")){
                dFrame.dispose();
            }
        }
    }

    /**
    * override DApplet.menuAction() to provide menu actions
    * 
    * @param menuLabel the label for the activated menu
    * @param i the index of the activated item
    */public void menuAction( String menuLabel,  int i){
        cp.setConfidenceLevel(i);
    }

    public void doControlPanelButtonAction( ActionEvent e){
        String label = e.getActionCommand();
        if (label.equals("play")){
            cm.play();
            cp.repaint();
        }
    }
    
    /**
    * provides applet info
    */
     public String getAppletInfo() {
        return "An demonstration of confidence intervals.\nAuthor: Charles S. Stanton";
    }
}
