package edu.csusb.danby.applet;

import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.Dimension;


/**
* DControlPanel provides a convenient place for buttons etc in DControlPanelAction
* @version Wed Jul 24 08:16:12 PDT 2002
*/
public class DControlPanel extends JPanel{
    protected DControlPanelAction cpa;
    protected int numberButtons; //number of buttons on panel 
                            
    protected JPanel panel;
    protected DFrame dFrame;


      
/**
*  construct the DControlPanel
* @param frame is the JFrame which the panel is to be added to
* @param aDControlPanelAction is the host cpa
*    
* @param buttonLabel is an array of button labels.
* This class calls controlPanelButtonAction() in DControlPanelAction,
* so that method should be overridden for the buttons to
* be useful.
*/  
  public DControlPanel(DFrame dFrame, DControlPanelAction aDControlPanelAction, String[] buttonLabel){
    
    JButton[] cpButton;
    cpa=aDControlPanelAction;  //Will usually need this to implement button actions
    //frame = pSControlPanelAction.getDFrame();
    numberButtons = buttonLabel.length;

    cpButton = new JButton[numberButtons];
    setPreferredSize(new Dimension(600,50));
    dFrame.setControlPanel(this);

    for (int i=0; i< numberButtons; i++){
        cpButton[i] = new JButton(buttonLabel[i]);
        cpButton[i].addActionListener(new ActionListener(){
                 public void actionPerformed(ActionEvent e){
                    cpa.doControlPanelButtonAction(e);
                }
        });
        dFrame.setControlPanelItem(cpButton[i]);
    }//end for
  } //end Constructor method


}
