import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;

public class CUD 
{
  private WComponent container;
  
  private JLabel title = new JLabel("Current User");
  private JLabel unameLabel = new JLabel("User Name:");
  private JLabel fnameLabel = new JLabel("Full Name:");
  private JLabel uidLabel = new JLabel("User ID:");
  
  private JTextField uname = new JTextField();
  private JTextField fname = new JTextField();
  private JTextField uid = new JTextField();
  
  private Dimension cudDimension = new Dimension(375,100);
  private Dimension titleDimension = new Dimension(100,20);
  private Dimension labelDimension = new Dimension(75,20);
  private Dimension textDimension = new Dimension(285,20); 
  
	/**
	 * Default Constructor
	 */
	public CUD() 
	{
	}	
	
  /**
   * Current User Display Constructor
   */
  public CUD(JLayeredPane layers, BevelBorder bevel)
  {
    //********************************************************
    //Instantiate the container component for this region.
    //********************************************************
    container = new WComponent();
    
    //***********************************
    //Setup properties of the SRPole
    //***********************************
    
    container.setSize(cudDimension);
    container.setBorder(bevel);
    container.setBounds(410,5,(int)cudDimension.getWidth(),(int)cudDimension.getHeight());
    title.setBounds(415,5,(int)titleDimension.getWidth(),(int)titleDimension.getHeight());
    //container.setMinimumSize(containerDimension);
    //container.setMaximumSize(containerDimension);
    //container.setPreferredSize(containerDimension);
    
    unameLabel.setBounds(415,25,(int)labelDimension.getWidth(),(int)labelDimension.getHeight());
    uname.setBackground(Color.white);
    uname.setSize(textDimension);
    uname.setBorder(bevel);
    uname.setEditable(false);
    uname.setBounds(495,25,(int)textDimension.getWidth(),(int)textDimension.getHeight());
    //uname.setMinimumSize(textDimension);
    //uname.setMaximumSize(textDimension);
    //uname.setPreferredSize(textDimension);
    
    fnameLabel.setBounds(415,50,(int)labelDimension.getWidth(),(int)labelDimension.getHeight());
    fname.setBackground(Color.white);
    fname.setSize(textDimension);
    fname.setBorder(bevel);
    fname.setEditable(false);
    fname.setBounds(495,50,(int)textDimension.getWidth(),(int)textDimension.getHeight());
    //fname.setMinimumSize(textDimension);
    //fname.setMaximumSize(textDimension);
    //fname.setPreferredSize(textDimension);
    
    uidLabel.setBounds(415,75,(int)labelDimension.getWidth(),(int)labelDimension.getHeight());
    uid.setBackground(Color.white);
    uid.setSize(textDimension);
    uid.setBorder(bevel);
    uid.setEditable(false);
    uid.setBounds(495,75,(int)textDimension.getWidth(),(int)textDimension.getHeight());
    //uid.setMinimumSize(textDimension);
    //uid.setMaximumSize(textDimension);
    //uid.setPreferredSize(textDimension);
    
    //********************************************************
    //Include the components and set their layers
    //********************************************************
    
    layers.add(container);
    layers.setLayer(container,1);
    layers.add(title);
    layers.setLayer(title,2);
    
    layers.add(unameLabel);
    layers.setLayer(unameLabel,2);
    layers.add(fnameLabel);
    layers.setLayer(fnameLabel,2);
    layers.add(uidLabel);
    layers.setLayer(uidLabel,2);
    
    layers.add(uname);
    layers.setLayer(uname,2);
    layers.add(fname);
    layers.setLayer(fname,2);
    layers.add(uid);
    layers.setLayer(uid,2);
    
    //********************************
    //Set the Areas to a visible state
    //********************************
    
    container.setVisible(true);
    title.setVisible(true);
    unameLabel.setVisible(true);
    uname.setVisible(true);
    fnameLabel.setVisible(true);
    fname.setVisible(true);
    uidLabel.setVisible(true);
    uid.setVisible(true);
  }

  public void setUname(String text)
  {
    uname.setText(text);
  }

  public void setFname(String text)
  {
    fname.setText(text);
  }

  public void setUID(String text)
  {
    uid.setText(text);
  }
  
  public String getUname()
  {
    return uname.getText();
  }
  
  public String getFname()
  {
    return fname.getText();
  }
  
  public String getUID()
  {
    return uid.getText();
  }
  
  public void setText(String unameText, String fnameText, String uidText)
  {
    uname.setText(unameText);
    fname.setText(fnameText);
    uid.setText(uidText);
  }
  
  public void reset()
  {
    uname.setText("");
    fname.setText("");
    uid.setText("");
  }
}
