import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

@SuppressWarnings("serial")
/**
 * Clase que genera el Panel para agregar un nuevo Estudiante
 * @author Gonzalo Sanchez, Anibal Catalan, Carlos Polanco, Daniel Veas.
 * @since 30/07/2014
 */

public class Estudiante extends JDialog {
 
 private JButton guardarButton, cancelarButton;
 private JLabel nombreLabel, rolLabel;
 private JTextField nombreField, rolField;
 
 /**
  * Constructor de la Clase
  */
 public Estudiante() {
	 initForm();
	 initComponents();
	 setVisible(true);
 }
 
 /**
  * Funcion que genera la forma general del panel
  */
 private void initForm() {
  setTitle("Crear Alumno");
  setSize(480, 400);
  setLocationRelativeTo(null);
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  setResizable(false);
  setModal(true);
 }
 
 /**
  * Funcion que inicializa los componentes del panel.
  * Genera los botones Guardar, Cancelar y sus determinadas acciones.
  */
 private void initComponents() {
  guardarButton = new JButton("Guardar");
  guardarButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) { onGuardarButtonActionPerformed(e); }
  });
  cancelarButton = new JButton("Cancelar");
  cancelarButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) { onCancelarButtonActionPerformed(e); }
  });

  nombreLabel = new JLabel("Nombre:");
  rolLabel = new JLabel("Rol:");
  nombreField = new JTextField();
  rolField = new JTextField();
 
  JPanel botonesPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
  botonesPanel.add(guardarButton);
  botonesPanel.add(cancelarButton);

  JPanel datosPanel = new JPanel(new GridBagLayout());
  datosPanel.add(nombreLabel, new GridBagConstraints(0, 0, 1, 1, 0.25, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
  datosPanel.add(nombreField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
  datosPanel.add(rolLabel, new GridBagConstraints(0, 1, 1, 1, 0.25, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
  datosPanel.add(rolField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
 
  getContentPane().setLayout(new BorderLayout());
  getContentPane().add(datosPanel, BorderLayout.NORTH);
  getContentPane().add(botonesPanel, BorderLayout.SOUTH);
 }
 
 /**
  * Funcion que actua como evento cuando se hace click en el boton "guardar".
  * @param e Evento Capturado
  */
 protected void onGuardarButtonActionPerformed(ActionEvent e) {
    String name= nombreField.getText();
    String rut= rolField.getText();
    
	 APICreator a =new APICreator();
     a.createStudent(name, rut);
     ComponentesFormII.estudiante.setText(null);
     ComponentesFormII.texto_area_estudiante();
     dispose();

 }
 
 /**
  * Funcion que actua como evento cuando se hace click en el boton "Cancelar".
  * @param e Evento Capturado
  */
 protected void onCancelarButtonActionPerformed(ActionEvent e) {
  dispose();
 }
 

}