/*
 
Universidad del MAR, campus Puerto Escondido
Autores:
*Eli Rafael Galguera Bautista.
*Darwin Sosa Gómez.
Proyecto: Simulador de supermercado.
*/
import javax.swing.*;
import javax.swing.JButton;
import java.awt.event.*;
import java.awt.*;
public class SuperMarket extends JFrame implements ActionListener {
 private JButton formarClientes, nuevoCliente, liberarTienda, cliente1,
   cliente2, cliente3, cliente4, cliente5, cliente6, cliente7,
   cliente8, cliente9, cliente10;
 private JLabel etiqueta, caja;
 private JPanel panel1, panel2;
 private JPanel panel3;
 private JTextField txtClientesTotales;
 private int cliente = 0, j = 0, k = 0, l = 0, contador = 0;
 private int arregloClientes[] = new int[Configuracion.HORA_DE_SALIDA + 1];
 boolean salir = false;
 Cuadros tienda;
 Cola temp = new Cola();
 private void agregarBotones() {
  tienda = new Cuadros(Configuracion.MAX_CLIENTES);
  for (int i = 0; i < Configuracion.MAX_CLIENTES; i++) {
   panel3.add(tienda.obtenerBoton(i));
  }
  tienda.ocultarTodos();
 }
 public SuperMarket() {
  super("Darel SuperMercado");
  arregloClientes[0] = 0;
  setSize(710, 600);
  setResizable(false);
  setLocationRelativeTo(null);
  Container contenedor = getContentPane();
  contenedor.setLayout(null);
  panel2 = new JPanel();
  panel2.setBounds(5, 450, 750, 120);
  panel2.setLayout(null);
  contenedor.add(panel2);
  panel3 = new JPanel();
  panel3.setBounds(20, 200, Configuracion.COLUMNAS
    * Configuracion.ANCHO_BTN, Configuracion.FILAS
    * (Configuracion.ALTO_BTN + 8));
  panel3.setLayout(null);
  agregarBotones();
  contenedor.add(panel3);
  panel1 = new JPanel();
  panel1.setBounds(5, 50, 750, 100);
  panel1.setLayout(null);
  contenedor.add(panel1);
  caja = new JLabel("CAJA");
  caja.setIcon(new ImageIcon("caja.png"));
  caja.setBounds(10, 5, 190, 50);
  panel1.add(caja);
  cliente1 = new JButton();
  cliente1.setBounds(10, 50, 50, Configuracion.ALTO_BTN);
  cliente1.setEnabled(false);
  cliente1.setVisible(false);
  panel1.add(cliente1);
  cliente2 = new JButton();
  cliente2.setBounds(70, 50, 50, Configuracion.ALTO_BTN);
  cliente2.setEnabled(false);
  cliente2.setVisible(false);
  panel1.add(cliente2);
  cliente3 = new JButton();
  cliente3.setBounds(130, 50, 50, Configuracion.ALTO_BTN);
  cliente3.setEnabled(false);
  cliente3.setVisible(false);
  panel1.add(cliente3);
  cliente4 = new JButton();
  cliente4.setBounds(190, 50, 50, Configuracion.ALTO_BTN);
  cliente4.setEnabled(false);
  cliente4.setVisible(false);
  panel1.add(cliente4);
  cliente5 = new JButton();
  cliente5.setBounds(250, 50, 50, Configuracion.ALTO_BTN);
  cliente5.setEnabled(false);
  cliente5.setVisible(false);
  panel1.add(cliente5);
  cliente6 = new JButton();
  cliente6.setBounds(310, 50, 50, Configuracion.ALTO_BTN);
  cliente6.setEnabled(false);
  cliente6.setVisible(false);
  panel1.add(cliente6);
  cliente7 = new JButton();
  cliente7.setBounds(370, 50, 50, Configuracion.ALTO_BTN);
  cliente7.setEnabled(false);
  cliente7.setVisible(false);
  panel1.add(cliente7);
  cliente8 = new JButton();
  cliente8.setBounds(430, 50, 50, Configuracion.ALTO_BTN);
  cliente8.setEnabled(false);
  cliente8.setVisible(false);
  panel1.add(cliente8);
  cliente9 = new JButton();
  cliente9.setBounds(490, 50, 50, Configuracion.ALTO_BTN);
  cliente9.setEnabled(false);
  cliente9.setVisible(false);
  panel1.add(cliente9);
  cliente10 = new JButton();
  cliente10.setBounds(550, 50, 50, Configuracion.ALTO_BTN);
  cliente10.setEnabled(false);
  cliente10.setVisible(false);
  panel1.add(cliente10);
  etiqueta = new JLabel("Total de Clientes");
  etiqueta.setBounds(50, 10, 150, 25);
  panel2.add(etiqueta);
  txtClientesTotales = new JTextField(10);
  txtClientesTotales.setBounds(150, 10, 50, 25);
  txtClientesTotales.setEnabled(false);
  panel2.add(txtClientesTotales);
  nuevoCliente = new JButton("Agregar Cliente",
    new ImageIcon("nuevo.png"));
  nuevoCliente.setToolTipText("Agrega un Nuevo Cliente al SuperMercado");
  nuevoCliente.setBounds(10, 40, 190, 50);
  nuevoCliente.addActionListener(this);
  panel2.add(nuevoCliente);
  formarClientes = new JButton("Formar Clientes", new ImageIcon(
    "formar.png"));
  formarClientes
    .setToolTipText("Forma los Clientes que estan en el SuperMercado");
  formarClientes.setBounds(255, 40, 190, 50);
  formarClientes.setEnabled(false);
  formarClientes.addActionListener(this);
  panel2.add(formarClientes);
  liberarTienda = new JButton("Liberar Clientes", new ImageIcon(
    "liberar.png"));
  liberarTienda.setToolTipText("Saca los clientes de la caja");
  liberarTienda.setBounds(480, 40, 190, 50);
  liberarTienda.setEnabled(false);
  liberarTienda.addActionListener(this);
  panel2.add(liberarTienda);
  setVisible(true);
 }
 public void actionPerformed(ActionEvent e) {
  if (e.getSource().equals(nuevoCliente)) {
   int num = 1;
   if (temp.buscar(num)) {
    num = temp.autogenerar();
   }
   temp.Insertar(new Integer(num), tienda.meterCliente(num));
   cliente++;
   txtClientesTotales.setText(String.valueOf(cliente));
   arregloClientes[j++] = num;
   formarClientes.setEnabled(true);
   liberarTienda.setEnabled(false);
   if (cliente == Configuracion.MAX_CLIENTES) {
    JOptionPane.showMessageDialog(null,
      "El SuperMercado ha llegado a su limite de Clientes",
      "Super Mercado Lleno", JOptionPane.WARNING_MESSAGE);
    nuevoCliente.setEnabled(false);
   }
   if (j > Configuracion.HORA_DE_SALIDA) {
    JOptionPane
      .showMessageDialog(
        null,
        "Es hora de Cerrar la Tienda, Libere todos los clientes",
        "Fin de Operaciones", JOptionPane.ERROR_MESSAGE);
    nuevoCliente.setEnabled(false);
    salir = true;
   }
  }
  if (e.getSource().equals(formarClientes)) {
   for (int i = 0; i < Integer.parseInt(txtClientesTotales.getText()); i++) {
    if (k == 0) {
     cliente1.setVisible(true);
     cliente1.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 1) {
     cliente2.setVisible(true);
     cliente2.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 2) {
     cliente3.setVisible(true);
     cliente3.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 3) {
     cliente4.setVisible(true);
     cliente4.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 4) {
     cliente5.setVisible(true);
     cliente5.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 5) {
     cliente6.setVisible(true);
     cliente6.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 6) {
     cliente7.setVisible(true);
     cliente7.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 7) {
     cliente8.setVisible(true);
     cliente8.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 8) {
     cliente9.setVisible(true);
     cliente9.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    if (k == 9) {
     cliente10.setVisible(true);
     cliente10.setText(String.valueOf(arregloClientes[l++]));
     contador++;
    }
    formarClientes.setEnabled(false);
    if (!salir)
     nuevoCliente.setEnabled(false);
    liberarTienda.setEnabled(true);
    if (k == Configuracion.MAX_COLA) {
     k = 0;
     break;
    } else
     k++;
   }
   Nodo nodoTemp = temp.Inicio;
   for (int i = 0; i < contador; i++) {
    tienda.ocultar(nodoTemp.indice);
    nodoTemp = nodoTemp.siguiente;
   }
  }
  if (e.getSource().equals(liberarTienda)) {
   cliente = Integer.parseInt(txtClientesTotales.getText()) - contador;
   txtClientesTotales.setText(String.valueOf(Integer
     .parseInt(txtClientesTotales.getText())
     - contador));
   k = 0;
   if (!temp.Vacio()) {
    for (int i = 0; i < contador; i++) {
     temp.EliminarPrincipio();
    }
    cliente1.setVisible(false);
    cliente2.setVisible(false);
    cliente3.setVisible(false);
    cliente4.setVisible(false);
    cliente5.setVisible(false);
    cliente6.setVisible(false);
    cliente7.setVisible(false);
    cliente8.setVisible(false);
    cliente9.setVisible(false);
    cliente10.setVisible(false);
   }
   liberarTienda.setEnabled(false);
   if (!salir)
    nuevoCliente.setEnabled(true);
   if (Integer.parseInt(txtClientesTotales.getText()) == 0)
    formarClientes.setEnabled(false);
   else
    formarClientes.setEnabled(true);
   contador = 0;
  }
 }
}
Clase SuperMarket
Publicado por Darwin Sosa Gómez el miércoles, septiembre 12, 2007
Suscribirse a:
Enviar comentarios (Atom)

0 comentarios:
Publicar un comentario