Package simulacion

Source Code of simulacion.SimulacionAutomatica

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package simulacion;

import interfaz.VentanaPrincipal;
import interfaz.utilidades.PizarraSimulacion;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import modelo.BusquedaAestrella;
import modelo.Localidad;
import modelo.Mapa;
import modelo.utilidades.LugarEntrega;
import modelo.utilidades.ModeloComboBox;
import modelo.utilidades.ModeloTablaPaquete;
import modelo.utilidades.PaqueteEntrega;

/**
*
* @author Felipe
*/
public class SimulacionAutomatica extends Thread {

    private LugarEntrega lugarEntrega;
    private Localidad localidadInicio;
    private Localidad localidadDestino;
    private Mapa mapaDatos;
    private BusquedaAestrella busqueda;
    private ModeloTablaPaquete modeloTablaPaquetesPorEntregar;
    private PizarraSimulacion pizarraAnimacion;
    private JTextArea textoRecorrido;
    private ModeloTablaPaquete modeloTablaPaquetesEntregados;
    private ModeloComboBox modeloCombo2;
    private VentanaPrincipal ventanaPrincipal;
    private JTabbedPane jTabbedPaneModoEjecucion;
    private int tiempoPausa;
    private JTextField rutaOptimaText;

    public int getTiempoPausa() {
        return tiempoPausa;
    }

    public void setTiempoPausa(int tiempoPausa) {
        this.tiempoPausa = tiempoPausa;
    }

    public SimulacionAutomatica(JTextField rutaOptimaText,
            JTabbedPane jTabbedPaneModoEjecucion,
            VentanaPrincipal ventanaPrincipal,
            LugarEntrega lugarEntrega,
            JTextArea textoRecorrido,
            ModeloTablaPaquete modeloTablaPaquetesPorEntregar,
            ModeloTablaPaquete modeloTablaPaquetesEntregados,
            Mapa mapaDatos,
            PizarraSimulacion pizarraAnimacion,
            BusquedaAestrella busqueda,
            ModeloComboBox modeloCombo2) {
        this.rutaOptimaText = rutaOptimaText;
        this.jTabbedPaneModoEjecucion = jTabbedPaneModoEjecucion;
        this.ventanaPrincipal = ventanaPrincipal;
        this.lugarEntrega = lugarEntrega;
        this.textoRecorrido = textoRecorrido;
        this.modeloTablaPaquetesPorEntregar = modeloTablaPaquetesPorEntregar;
        this.modeloTablaPaquetesEntregados = modeloTablaPaquetesEntregados;
        this.mapaDatos = mapaDatos;
        this.pizarraAnimacion = pizarraAnimacion;
        this.busqueda = busqueda;
        this.modeloCombo2 = modeloCombo2;
    }

    @Override
    public void run() {
        //Primero obtenemos las localidades de inicio y destino
        try {

            localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            int cantidadPaquetes = this.modeloTablaPaquetesPorEntregar.getPaquetes().size();
            int contadorEntregas = 0;

            while (contadorEntregas < cantidadPaquetes) {
                PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(0);
                localidadDestino = this.mapaDatos.getLocalidades().get(paqueteEntrega.getPunto() - 1);
                System.out.println("Localidad Inicial: " + localidadInicio);
                System.out.println("Localidad Destino: " + localidadDestino);
                this.busqueda = new BusquedaAestrella(mapaDatos, textoRecorrido);
                ArrayList<Integer> rutaOptima = this.busqueda.buscarRutaOptima(localidadInicio, localidadDestino);
                this.pizarraAnimacion.setRutaOptima(rutaOptima);
                this.pizarraAnimacion.setEstadoRutaOptima(true);
                this.pizarraAnimacion.repaint();

                this.modeloTablaPaquetesEntregados.addPaquetes(paqueteEntrega);
                this.modeloTablaPaquetesPorEntregar.eliminarPaquete(0);
                LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
                this.modeloCombo2.addElement(lugarEntregaPasado);
                contadorEntregas++;
                try {
                    sleep(tiempoPausa * 1000);
                } catch (InterruptedException ex) {
                }
                localidadInicio = localidadDestino;
                this.rutaOptimaText.setText("");
                for (Integer integer : rutaOptima) {
                    this.rutaOptimaText.setText(this.rutaOptimaText.getText()+"----->"+this.mapaDatos.getLocalidades().get(integer).getBarrio().getDenominacion());
                }
            }
            this.jTabbedPaneModoEjecucion.setEnabled(true);
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(this.ventanaPrincipal, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }
}
TOP

Related Classes of simulacion.SimulacionAutomatica

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.