Package interfaz

Source Code of interfaz.VentanaPrincipal

/*
* VentaPrincipal.java
*
* Created on 03-jul-2010, 12:18:20
*/
package interfaz;

import baseconocimiento.utilidades.Mapeo;
import interfaz.alterna.AcercaDeNosotros;
import interfaz.alterna.MapaVista;
import interfaz.alterna.RegistroPaquetes;
import interfaz.reportes.Reporte;
import interfaz.utilidades.PizarraSimulacion;
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import org.jdesktop.swingx.painter.CompoundPainter;
import org.jdesktop.swingx.painter.GlossPainter;
import org.jdesktop.swingx.painter.MattePainter;
import org.jdesktop.swingx.painter.PinstripePainter;
import org.pushingpixels.substance.api.SubstanceLookAndFeel;
import org.pushingpixels.substance.api.skin.BusinessBlackSteelSkin;
import org.pushingpixels.substance.api.skin.BusinessBlueSteelSkin;
import org.pushingpixels.substance.api.skin.BusinessSkin;
import org.pushingpixels.substance.api.skin.CremeSkin;
import org.pushingpixels.substance.api.skin.DustCoffeeSkin;
import org.pushingpixels.substance.api.skin.EmeraldDuskSkin;
import org.pushingpixels.substance.api.skin.GraphiteAquaSkin;
import org.pushingpixels.substance.api.skin.ModerateSkin;
import org.pushingpixels.substance.api.skin.NebulaBrickWallSkin;
import org.pushingpixels.substance.api.skin.OfficeBlue2007Skin;
import org.pushingpixels.substance.api.skin.SaharaSkin;
import org.pushingpixels.substance.api.skin.TwilightSkin;
import java.util.Calendar;
import javax.swing.JFileChooser;
import java.text.SimpleDateFormat;
import java.util.Map;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.filechooser.FileFilter;
import javax.swing.tree.DefaultTreeModel;
import main.Agente;
import modelo.AgenteRepartidor;
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;
import simulacion.SimulacionAutomatica;
import utilidades.skins.SkinAutumn;

/**
*
* @author UNL
*/
public final class VentanaPrincipal extends javax.swing.JFrame {

    private JDialog aboutUS;
    private JDialog registroPaquete;
    private MapaVista mapaVista;
    private Mapa mapaDatos;
    //private BusquedaAestrella busquedaestrella;
    private JDesktopPane dp;
    private MenuItem quit;
    private Desktop desktop;
    private TrayIcon trayIcon;
    private boolean creadoBar;
    /** String containing the CVS revision. **/
    public final static String CVS_REVISION = "$Revision: 1.11 $";
    private PizarraSimulacion pizarraAnimacion;
    private ModeloComboBox modeloCombo1;
    private ModeloComboBox modeloCombo2;
    private ModeloTablaPaquete modeloTablaPaquetesPorEntregar;
    private ModeloTablaPaquete modeloTablaPaquetesEntregados;
    public ArrayList<PaqueteEntrega> paquetesPorEntregar;
    public ArrayList<PaqueteEntrega> paquetesEntregados;
    private int filaSeleccionada;
    private AgenteRepartidor agenteRepartidor;
    private BusquedaAestrella busqueda;
    private DefaultTreeModel modeloArbol;
    private simulacion.SimulacionAutomatica simulacionAutomatica;

    /** Creates new form VentaPrincipal */
    public VentanaPrincipal() {
        initComponents();
        configurarVentana();
        setupPainters();
        // before any Desktop APIs are used, first check whether the API is
        // supported by this particular VM on this particular host
        if (Desktop.isDesktopSupported()) {
            desktop = Desktop.getDesktop();
        }
        configurarCabecera();
        this.mapaDatos = new Mapa(1, "Mapa Loja", new Mapeo().mapearLocalidades());
        this.cargarAnimacion();

        this.modeloCombo1 = new ModeloComboBox(this.mapaDatos.getLugaresEntrega());
        this.jComboBoxBarrios.setModel(modeloCombo1);
        this.modeloCombo2 = new ModeloComboBox(this.mapaDatos.getLugaresEntrega());
        this.paquetesPorEntregar = new ArrayList<PaqueteEntrega>();
        this.paquetesEntregados = new ArrayList<PaqueteEntrega>();

        modeloTablaPaquetesEntregados = new ModeloTablaPaquete(paquetesEntregados);
        modeloTablaPaquetesPorEntregar = new ModeloTablaPaquete(paquetesPorEntregar);

        tablaPaquetesEntregados.setModel(modeloTablaPaquetesEntregados);
        tablaPaquetesPorEntregar.setModel(modeloTablaPaquetesPorEntregar);
        seleccionUsuario();
        this.agenteRepartidor = new AgenteRepartidor();
        this.setVisible(true);
    }
    private void seleccionUsuario() {
        ListSelectionModel fila = tablaPaquetesPorEntregar.getSelectionModel();
        System.out.println("filaseleccionada: " + fila.toString());
        fila.addListSelectionListener(new ListSelectionListener() {

            public void valueChanged(ListSelectionEvent e) {
                ListSelectionModel lis = (ListSelectionModel) e.getSource();
                if (lis.isSelectionEmpty()) {
                } else {
                    filaSeleccionada = lis.getMinSelectionIndex();
                    System.out.println("Fila seleccionada: " + filaSeleccionada);
                }
            }
        });
    }

    private void configurarCabecera() {
        System.out.println("Cambiando ubicacion");
        Dimension ventana = this.getSize();
        header.add(labelCamion, new org.netbeans.lib.awtextra.AbsoluteConstraints((int) (ventana.getWidth() - labelCamion.getWidth() - 20), 10, 100, 70));
    }

    private void configurarVentana() {
        this.setIconImage(new ImageIcon(getClass().getResource("/images/travel-logo.png")).getImage());
        // Se obtienen las dimensiones en pixels de la pantalla.
        Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
        // Se obtienen las dimensiones en pixels de la ventana.
        Dimension ventana = this.getSize();
        //para maximizar la pantalla automaticamente
        this.setSize(pantalla);
        // Una cuenta para situar la ventana en el centro de la pantalla.
        /*this.setLocation(
        (pantalla.width - ventana.width) / 2,
        (pantalla.height - ventana.height) / 2);
         */
        //maximizar pantalla
        this.setExtendedState(VentanaPrincipal.MAXIMIZED_BOTH);
        dp = new JDesktopPane();
        this.getContentPane().add(dp);
    }

    public void doTransparentComponents() {
        panelTituloRecorrido.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        panelSimulacion.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        panelTituloSimulacion.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        panelSeleccion.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        panelConfiguracion.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        jSplitPane3.putClientProperty(SubstanceLookAndFeel.WATERMARK_VISIBLE, true);
        repaint();
    }

    private void AddTrayIcon() {
        //ponemos la ventana en modo oculta
        this.setVisible(false);
        //Verificamos que se soporta TrayIcon en el sistema
        if (SystemTray.isSupported()) {
            System.out.println("Soporte");
            //Recuperamos la barra de trays del sistema
            SystemTray tray = SystemTray.getSystemTray();
            //Se construye la imagen que se va a usar
            ImageIcon imagen1 = new ImageIcon(getClass().getResource("/images/travel-logo.png").getFile());
            Image imagen = imagen1.getImage();
            //El popup que despliega nuestra app
            PopupMenu popup = new PopupMenu();
            //Se agregan los items a nuestra app
            MenuItem item1 = new MenuItem("Exit");
            MenuItem item2 = new MenuItem("Acerca de...");
            MenuItem item3 = new MenuItem("Ayuda");
            //Añadimos los items al popup
            popup.add(item3);
            popup.addSeparator();
            popup.add(item2);
            popup.addSeparator();
            popup.add(item1);
            //Agragamos los eventos
            item1.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    System.exit(0);
                }
            });
            item2.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    //si todavia no esta creado lo creamos
                    if (aboutUS == null) {
                        aboutUS = new AcercaDeNosotros(null, true);
                        aboutUS.setLocationRelativeTo(null);
                    }
                    aboutUS.setVisible(true);
                }
            });
            //Agragamos los eventos
            item3.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub
                    try {
                        String fileName = "C:/Program Files/ayuda/AIRResources/AIRResources.exe";
                        File file = new File(fileName);
                        desktop.open(file);
                    } catch (IOException ex) {
                        System.out.println("No se puede abrir el archivo de ayuda");
                        Logger.getLogger(VentanaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });
            //Construimos el TrayIcon con la imagen y el popup previamente definidos
            trayIcon = new TrayIcon(imagen, "AgenteTuristico", popup);
            trayIcon.setImageAutoSize(true);
            trayIcon.addMouseListener(new MouseListener() {

                @Override
                public void mouseReleased(MouseEvent arg0) {
                    trayIcon.displayMessage("Informacion", "Aplicacion modo normal", TrayIcon.MessageType.INFO);
                }

                @Override
                public void mousePressed(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    //setVisible(true);
                    //toFront();
                }

                @Override
                public void mouseExited(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                }

                @Override
                public void mouseEntered(MouseEvent arg0) {
                    trayIcon.displayMessage("Informacion", "La aplicación continuara ejcutandose en modo desatendido", TrayIcon.MessageType.INFO);
                }

                @Override
                public void mouseClicked(MouseEvent arg0) {
                    // TODO Auto-generated method stub
                    setVisible(true);
                    toFront();
                }
            });
            try {
                if (!creadoBar) {
                    tray.add(trayIcon);
                    creadoBar = true;
                }
                trayIcon.displayMessage("Informacion", "La aplicación continuara ejcutandose en modo desatendido", TrayIcon.MessageType.INFO);

            } catch (AWTException e) {
                System.err.println("El TrayIcon no puede añadirse");

            }
        } else {
            JOptionPane.showMessageDialog(null, "No tiene soporte", "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    private void setupPainters() {
        GlossPainter gloss = new GlossPainter(new Color(1.0f, 1.0f, 1.0f, 0.2f),
                GlossPainter.GlossPosition.TOP);

        PinstripePainter stripes = new PinstripePainter();
        stripes.setPaint(new Color(1.0f, 1.0f, 1.0f, 0.17f));
        stripes.setSpacing(5.0);

        MattePainter matte = new MattePainter(new Color(02, 98, 35));

        header.setBackgroundPainter(new CompoundPainter(matte, stripes, gloss));
    }

    /**
     * Codigo producido por el editor
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        buttonGroup2 = new javax.swing.ButtonGroup();
        buttonGroup3 = new javax.swing.ButtonGroup();
        jSplitPane1 = new javax.swing.JSplitPane();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jSplitPane2 = new javax.swing.JSplitPane();
        jXPanel2 = new org.jdesktop.swingx.JXPanel();
        jXPanelListaPaquetes = new org.jdesktop.swingx.JXPanel();
        jXTitledPanel5 = new org.jdesktop.swingx.JXTitledPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        tablaPaquetesEntregados = new javax.swing.JTable();
        jXTitledPanel3 = new org.jdesktop.swingx.JXTitledPanel();
        panelAnimacion2 = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jScrollPane5 = new javax.swing.JScrollPane();
        tablaPaquetesPorEntregar = new javax.swing.JTable();
        panelTituloRecorrido = new org.jdesktop.swingx.JXTitledPanel();
        rutaOptimaText = new javax.swing.JTextField();
        jScrollPane3 = new javax.swing.JScrollPane();
        textoRecorrido = new javax.swing.JTextArea();
        jSplitPane3 = new javax.swing.JSplitPane();
        panelTituloSimulacion = new org.jdesktop.swingx.JXTitledPanel();
        panelSeleccion = new javax.swing.JPanel();
        jComboBoxBarrios = new javax.swing.JComboBox();
        panelConfiguracion = new javax.swing.JPanel();
        jTabbedPaneModoEjecucion = new javax.swing.JTabbedPane();
        jPanelManual = new javax.swing.JPanel();
        jRadioButton2 = new javax.swing.JRadioButton();
        jRadioButton3 = new javax.swing.JRadioButton();
        jPanelAutomatica = new javax.swing.JPanel();
        jPanel7 = new javax.swing.JPanel();
        jButton4 = new javax.swing.JButton();
        contadorSpiner = new javax.swing.JSpinner();
        jLabel2 = new javax.swing.JLabel();
        panelSimulacion = new org.jdesktop.swingx.JXPanel();
        panelPizarra = new javax.swing.JPanel();
        header = new org.jdesktop.swingx.JXPanel();
        jLabel12 = new javax.swing.JLabel();
        labelCamion = new org.jdesktop.swingx.JXLabel();
        jXLabel3 = new org.jdesktop.swingx.JXLabel();
        org.jdesktop.swingx.JXPanel jXPanel3 = new org.jdesktop.swingx.JXPanel();
        javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem7 = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        jMenuItem16 = new javax.swing.JMenuItem();
        jSeparator2 = new javax.swing.JPopupMenu.Separator();
        jMenu6 = new javax.swing.JMenu();
        jMenuItem9 = new javax.swing.JMenuItem();
        jMenuItem10 = new javax.swing.JMenuItem();
        jMenuItem12 = new javax.swing.JMenuItem();
        jMenuItem13 = new javax.swing.JMenuItem();
        jMenuItem22 = new javax.swing.JMenuItem();
        jMenuItem23 = new javax.swing.JMenuItem();
        jMenuItem24 = new javax.swing.JMenuItem();
        jMenuItem29 = new javax.swing.JMenuItem();
        jMenuItem28 = new javax.swing.JMenuItem();
        jMenuItem27 = new javax.swing.JMenuItem();
        jMenuItem26 = new javax.swing.JMenuItem();
        jMenuItem25 = new javax.swing.JMenuItem();
        jSeparator5 = new javax.swing.JPopupMenu.Separator();
        jMenuItem11 = new javax.swing.JMenuItem();
        jMenu11 = new javax.swing.JMenu();
        jMenuItem37 = new javax.swing.JMenuItem();
        jMenuItem38 = new javax.swing.JMenuItem();
        jMenuItem39 = new javax.swing.JMenuItem();
        jMenuItem40 = new javax.swing.JMenuItem();
        jMenuItem41 = new javax.swing.JMenuItem();
        jMenuItem42 = new javax.swing.JMenuItem();
        jMenuItem43 = new javax.swing.JMenuItem();
        jMenuItem44 = new javax.swing.JMenuItem();
        jMenuItem45 = new javax.swing.JMenuItem();
        jMenuItem46 = new javax.swing.JMenuItem();
        jMenuItem47 = new javax.swing.JMenuItem();
        jMenuItem48 = new javax.swing.JMenuItem();
        jSeparator6 = new javax.swing.JPopupMenu.Separator();
        jMenuItem49 = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();
        jMenu30 = new javax.swing.JMenu();
        jMenuItem14 = new javax.swing.JMenuItem();
        jMenuItem30 = new javax.swing.JMenuItem();
        jMenu7 = new javax.swing.JMenu();
        jMenuItem31 = new javax.swing.JMenuItem();
        jMenuItem15 = new javax.swing.JMenuItem();
        jMenu8 = new javax.swing.JMenu();
        jMenuItem21 = new javax.swing.JMenuItem();
        jMenu10 = new javax.swing.JMenu();
        jMenuItem18 = new javax.swing.JMenuItem();
        jMenuItem19 = new javax.swing.JMenuItem();
        jMenuItem20 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem4 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jMenuItem6 = new javax.swing.JMenuItem();
        jMenuItem5 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Agente Recomendador Guias Turisticas");

        jSplitPane1.setDividerLocation(250);
        jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
        jSplitPane1.setOpaque(false);

        jSplitPane2.setDividerLocation(500);
        jSplitPane2.setPreferredSize(new java.awt.Dimension(1000, 250));

        jXPanel2.setPreferredSize(new java.awt.Dimension(320, 200));

        java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("internacionalizacion/Messages_es_EC"); // NOI18N
        jXPanelListaPaquetes.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("Principal_listaPuntosTuristicos"))); // NOI18N

        jXTitledPanel5.setTitle(bundle.getString("Princial_puntosVisitados")); // NOI18N
        jXTitledPanel5.setMinimumSize(new java.awt.Dimension(0, 0));

        tablaPaquetesEntregados.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            },
            new String [] {
                "Punto", "Punto turistico", "#Paq"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.String.class, java.lang.Integer.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        tablaPaquetesEntregados.setCellSelectionEnabled(true);
        tablaPaquetesEntregados.setEnabled(false);
        jScrollPane4.setViewportView(tablaPaquetesEntregados);

        javax.swing.GroupLayout jXTitledPanel5Layout = new javax.swing.GroupLayout(jXTitledPanel5.getContentContainer());
        jXTitledPanel5.getContentContainer().setLayout(jXTitledPanel5Layout);
        jXTitledPanel5Layout.setHorizontalGroup(
            jXTitledPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXTitledPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane4, 0, 0, Short.MAX_VALUE)
                .addContainerGap())
        );
        jXTitledPanel5Layout.setVerticalGroup(
            jXTitledPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXTitledPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(13, Short.MAX_VALUE))
        );

        jXTitledPanel3.setTitle(bundle.getString("Principal_puntosPorVisitar")); // NOI18N
        jXTitledPanel3.setMinimumSize(new java.awt.Dimension(0, 0));

        panelAnimacion2.setPreferredSize(new java.awt.Dimension(200, 100));

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/basket_add_32.png"))); // NOI18N
        jButton1.setToolTipText("agregar barrio");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/basket_close_32.png"))); // NOI18N
        jButton2.setToolTipText("eliminar barrio");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(97, 97, 97))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jButton2)
            .addComponent(jButton1)
        );

        jScrollPane5.setViewportView(tablaPaquetesPorEntregar);

        javax.swing.GroupLayout panelAnimacion2Layout = new javax.swing.GroupLayout(panelAnimacion2);
        panelAnimacion2.setLayout(panelAnimacion2Layout);
        panelAnimacion2Layout.setHorizontalGroup(
            panelAnimacion2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelAnimacion2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelAnimacion2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 217, Short.MAX_VALUE)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        panelAnimacion2Layout.setVerticalGroup(
            panelAnimacion2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelAnimacion2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout jXTitledPanel3Layout = new javax.swing.GroupLayout(jXTitledPanel3.getContentContainer());
        jXTitledPanel3.getContentContainer().setLayout(jXTitledPanel3Layout);
        jXTitledPanel3Layout.setHorizontalGroup(
            jXTitledPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panelAnimacion2, javax.swing.GroupLayout.DEFAULT_SIZE, 237, Short.MAX_VALUE)
        );
        jXTitledPanel3Layout.setVerticalGroup(
            jXTitledPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXTitledPanel3Layout.createSequentialGroup()
                .addComponent(panelAnimacion2, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jXPanelListaPaquetesLayout = new javax.swing.GroupLayout(jXPanelListaPaquetes);
        jXPanelListaPaquetes.setLayout(jXPanelListaPaquetesLayout);
        jXPanelListaPaquetesLayout.setHorizontalGroup(
            jXPanelListaPaquetesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jXPanelListaPaquetesLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jXTitledPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jXTitledPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        jXPanelListaPaquetesLayout.setVerticalGroup(
            jXPanelListaPaquetesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jXTitledPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addComponent(jXTitledPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        javax.swing.GroupLayout jXPanel2Layout = new javax.swing.GroupLayout(jXPanel2);
        jXPanel2.setLayout(jXPanel2Layout);
        jXPanel2Layout.setHorizontalGroup(
            jXPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jXPanelListaPaquetes, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        jXPanel2Layout.setVerticalGroup(
            jXPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jXPanelListaPaquetes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        jSplitPane2.setLeftComponent(jXPanel2);

        panelTituloRecorrido.setTitle("Ruta Optima");

        javax.swing.GroupLayout panelTituloRecorridoLayout = new javax.swing.GroupLayout(panelTituloRecorrido.getContentContainer());
        panelTituloRecorrido.getContentContainer().setLayout(panelTituloRecorridoLayout);
        panelTituloRecorridoLayout.setHorizontalGroup(
            panelTituloRecorridoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelTituloRecorridoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(rutaOptimaText, javax.swing.GroupLayout.DEFAULT_SIZE, 456, Short.MAX_VALUE)
                .addContainerGap())
        );
        panelTituloRecorridoLayout.setVerticalGroup(
            panelTituloRecorridoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelTituloRecorridoLayout.createSequentialGroup()
                .addGap(96, 96, 96)
                .addComponent(rutaOptimaText, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(104, Short.MAX_VALUE))
        );

        jSplitPane2.setRightComponent(panelTituloRecorrido);

        jTabbedPane1.addTab("ADMINISTRACIÓN DE PAQUETES", jSplitPane2);

        jScrollPane3.setPreferredSize(new java.awt.Dimension(900, 96));

        textoRecorrido.setColumns(20);
        textoRecorrido.setEditable(false);
        textoRecorrido.setRows(5);
        jScrollPane3.setViewportView(textoRecorrido);

        jTabbedPane1.addTab("Mostrar Resultados", jScrollPane3);

        jSplitPane1.setRightComponent(jTabbedPane1);

        jSplitPane3.setDividerLocation(250);
        jSplitPane3.setMinimumSize(new java.awt.Dimension(217, 100));
        jSplitPane3.setPreferredSize(new java.awt.Dimension(1500, 1002));

        panelTituloSimulacion.setTitle("SIMULACIÓN");
        panelTituloSimulacion.setMinimumSize(new java.awt.Dimension(100, 100));
        panelTituloSimulacion.setPreferredSize(new java.awt.Dimension(500, 500));

        panelSeleccion.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("Principal_simulacionPosicion"))); // NOI18N

        jComboBoxBarrios.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccione", "Item 2", "Item 3", "Item 4" }));

        javax.swing.GroupLayout panelSeleccionLayout = new javax.swing.GroupLayout(panelSeleccion);
        panelSeleccion.setLayout(panelSeleccionLayout);
        panelSeleccionLayout.setHorizontalGroup(
            panelSeleccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelSeleccionLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jComboBoxBarrios, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(16, Short.MAX_VALUE))
        );
        panelSeleccionLayout.setVerticalGroup(
            panelSeleccionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelSeleccionLayout.createSequentialGroup()
                .addComponent(jComboBoxBarrios, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        panelConfiguracion.setBorder(javax.swing.BorderFactory.createTitledBorder("Configuraciones Simulación"));

        jPanelManual.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jRadioButton2.setText(bundle.getString("Principal_visitarPrimerLugarTLista")); // NOI18N
        jRadioButton2.setActionCommand("Entregar Primero de la Lista");
        jRadioButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButton2ActionPerformed(evt);
            }
        });

        jRadioButton3.setText(bundle.getString("Principal_visitarLugarTurisSelec")); // NOI18N
        jRadioButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButton3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanelManualLayout = new javax.swing.GroupLayout(jPanelManual);
        jPanelManual.setLayout(jPanelManualLayout);
        jPanelManualLayout.setHorizontalGroup(
            jPanelManualLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelManualLayout.createSequentialGroup()
                .addGroup(jPanelManualLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jRadioButton3)
                    .addComponent(jRadioButton2))
                .addContainerGap(23, Short.MAX_VALUE))
        );
        jPanelManualLayout.setVerticalGroup(
            jPanelManualLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelManualLayout.createSequentialGroup()
                .addComponent(jRadioButton3)
                .addGap(23, 23, 23)
                .addComponent(jRadioButton2)
                .addContainerGap(10, Short.MAX_VALUE))
        );

        jTabbedPaneModoEjecucion.addTab("Manual", jPanelManual);

        jPanelAutomatica.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/WMP.png"))); // NOI18N
        jButton4.setToolTipText("Iniciar");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
        jPanel7.setLayout(jPanel7Layout);
        jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(42, 42, 42)
                .addComponent(contadorSpiner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(41, 41, 41))
        );
        jPanel7Layout.setVerticalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jButton4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE)
            .addGroup(jPanel7Layout.createSequentialGroup()
                .addComponent(contadorSpiner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        jLabel2.setText("PAUSA:");

        javax.swing.GroupLayout jPanelAutomaticaLayout = new javax.swing.GroupLayout(jPanelAutomatica);
        jPanelAutomatica.setLayout(jPanelAutomaticaLayout);
        jPanelAutomaticaLayout.setHorizontalGroup(
            jPanelAutomaticaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelAutomaticaLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelAutomaticaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelAutomaticaLayout.createSequentialGroup()
                        .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, 196, Short.MAX_VALUE)
                        .addGap(10, 10, 10))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelAutomaticaLayout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(74, 74, 74))))
        );
        jPanelAutomaticaLayout.setVerticalGroup(
            jPanelAutomaticaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelAutomaticaLayout.createSequentialGroup()
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(12, Short.MAX_VALUE))
        );

        jTabbedPaneModoEjecucion.addTab("Automática", jPanelAutomatica);

        javax.swing.GroupLayout panelConfiguracionLayout = new javax.swing.GroupLayout(panelConfiguracion);
        panelConfiguracion.setLayout(panelConfiguracionLayout);
        panelConfiguracionLayout.setHorizontalGroup(
            panelConfiguracionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPaneModoEjecucion, javax.swing.GroupLayout.DEFAULT_SIZE, 233, Short.MAX_VALUE)
        );
        panelConfiguracionLayout.setVerticalGroup(
            panelConfiguracionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelConfiguracionLayout.createSequentialGroup()
                .addComponent(jTabbedPaneModoEjecucion, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout panelTituloSimulacionLayout = new javax.swing.GroupLayout(panelTituloSimulacion.getContentContainer());
        panelTituloSimulacion.getContentContainer().setLayout(panelTituloSimulacionLayout);
        panelTituloSimulacionLayout.setHorizontalGroup(
            panelTituloSimulacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panelConfiguracion, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(panelSeleccion, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        panelTituloSimulacionLayout.setVerticalGroup(
            panelTituloSimulacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelTituloSimulacionLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(panelSeleccion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(panelConfiguracion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        jSplitPane3.setLeftComponent(panelTituloSimulacion);

        panelSimulacion.setPreferredSize(new java.awt.Dimension(900, 1000));

        javax.swing.GroupLayout panelPizarraLayout = new javax.swing.GroupLayout(panelPizarra);
        panelPizarra.setLayout(panelPizarraLayout);
        panelPizarraLayout.setHorizontalGroup(
            panelPizarraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 735, Short.MAX_VALUE)
        );
        panelPizarraLayout.setVerticalGroup(
            panelPizarraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 247, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout panelSimulacionLayout = new javax.swing.GroupLayout(panelSimulacion);
        panelSimulacion.setLayout(panelSimulacionLayout);
        panelSimulacionLayout.setHorizontalGroup(
            panelSimulacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panelPizarra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        panelSimulacionLayout.setVerticalGroup(
            panelSimulacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(panelPizarra, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        jSplitPane3.setRightComponent(panelSimulacion);

        jSplitPane1.setTopComponent(jSplitPane3);

        header.setBackground(new java.awt.Color(2, 98, 35));
        header.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        header.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 11, -1, -1));

        labelCamion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/travel-suitcase.png"))); // NOI18N
        labelCamion.setTextAlignment(org.jdesktop.swingx.JXLabel.TextAlignment.RIGHT);
        header.add(labelCamion, new org.netbeans.lib.awtextra.AbsoluteConstraints(850, 10, 100, 70));

        jXLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/logo-guia-turistico.png"))); // NOI18N
        header.add(jXLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, 280, 50));

        jXPanel3.setBackground(new java.awt.Color(255, 255, 255));
        jXPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(102, 102, 102)));
        jXPanel3.setForeground(new java.awt.Color(255, 153, 0));

        jLabel1.setFont(new java.awt.Font("Lucida Grande", 0, 9));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("UNIVERSIDAD TECNICA PARTICULAR DE LOJA");

        javax.swing.GroupLayout jXPanel3Layout = new javax.swing.GroupLayout(jXPanel3);
        jXPanel3.setLayout(jXPanel3Layout);
        jXPanel3Layout.setHorizontalGroup(
            jXPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jXPanel3Layout.createSequentialGroup()
                .addContainerGap(768, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addContainerGap())
        );
        jXPanel3Layout.setVerticalGroup(
            jXPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jXPanel3Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel1))
        );

        jMenu1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/home_20.png"))); // NOI18N
        jMenu1.setText("Area de Trabajo");

        jMenuItem7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/clock_32.png"))); // NOI18N
        jMenuItem7.setText("Nuevo");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem7);

        jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/save_download_32.png"))); // NOI18N
        jMenuItem1.setText("Save");
        jMenuItem1.setEnabled(false);
        jMenu1.add(jMenuItem1);

        jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.SHIFT_MASK));
        jMenuItem2.setText("Cerrar");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);
        jMenu1.add(jSeparator1);

        jMenuItem16.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/pdf.png"))); // NOI18N
        jMenuItem16.setText("Export Report Pdf");
        jMenuItem16.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem16ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem16);
        jMenu1.add(jSeparator2);

        jMenuBar1.add(jMenu1);

        jMenuItem9.setText("AutumnSkin");
        jMenuItem9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem9ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem9);

        jMenuItem10.setText("BusinessBlackSteelSkin");
        jMenuItem10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem10ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem10);

        jMenuItem12.setText("BusinessBlueSteelSkin");
        jMenuItem12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem12ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem12);

        jMenuItem13.setText("BusinessSkin");
        jMenuItem13.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem13ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem13);

        jMenuItem22.setText("CremeSkin");
        jMenuItem22.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem22ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem22);

        jMenuItem23.setText("DustCoffeeSkin");
        jMenuItem23.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem23ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem23);

        jMenuItem24.setText("EmeraldDuskSkin");
        jMenuItem24.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem24ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem24);

        jMenuItem29.setText("GraphiteAquaSkin");
        jMenuItem29.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem29ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem29);

        jMenuItem28.setText("ModerateSkin");
        jMenuItem28.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem28ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem28);

        jMenuItem27.setText("OfficeBlue2007Skin");
        jMenuItem27.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem27ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem27);

        jMenuItem26.setText("SaharaSkin");
        jMenuItem26.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem26ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem26);

        jMenuItem25.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem25ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem25);
        jMenu6.add(jSeparator5);

        jMenuItem11.setText("Restaurar");
        jMenuItem11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem11ActionPerformed(evt);
            }
        });
        jMenu6.add(jMenuItem11);

        jMenuBar1.add(jMenu6);

        jMenu11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Palette1.png"))); // NOI18N
        jMenu11.setText("Apariencia");

        jMenuItem37.setText("AutumnSkin");
        jMenuItem37.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem37ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem37);

        jMenuItem38.setText("BusinessBlackSteelSkin");
        jMenuItem38.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem38ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem38);

        jMenuItem39.setText("BusinessBlueSteelSkin");
        jMenuItem39.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem39ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem39);

        jMenuItem40.setText("BusinessSkin");
        jMenuItem40.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem40ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem40);

        jMenuItem41.setText("CremeSkin");
        jMenuItem41.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem41ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem41);

        jMenuItem42.setText("DustCoffeeSkin");
        jMenuItem42.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem42ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem42);

        jMenuItem43.setText("EmeraldDuskSkin");
        jMenuItem43.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem43ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem43);

        jMenuItem44.setText("GraphiteAquaSkin");
        jMenuItem44.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem44ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem44);

        jMenuItem45.setText("ModerateSkin");
        jMenuItem45.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem45ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem45);

        jMenuItem46.setText("OfficeBlue2007Skin");
        jMenuItem46.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem46ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem46);

        jMenuItem47.setText("SaharaSkin");
        jMenuItem47.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem47ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem47);

        jMenuItem48.setText("TwilightSkin");
        jMenuItem48.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem48ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem48);
        jMenu11.add(jSeparator6);

        jMenuItem49.setText("Restaurar");
        jMenuItem49.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem49ActionPerformed(evt);
            }
        });
        jMenu11.add(jMenuItem49);

        jMenuBar1.add(jMenu11);

        jMenu4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/simular.png"))); // NOI18N
        jMenu4.setText("Simulación Agente ");
        jMenu4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu4ActionPerformed(evt);
            }
        });

        jMenu30.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/blueprint tool.png"))); // NOI18N
        jMenu30.setText("Manual");

        jMenuItem14.setText("Entregar Primer Paquete de la Lista");
        jMenuItem14.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem14ActionPerformed(evt);
            }
        });
        jMenu30.add(jMenuItem14);

        jMenuItem30.setText("Entregar Paquete Seleccionado");
        jMenuItem30.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem30ActionPerformed(evt);
            }
        });
        jMenu30.add(jMenuItem30);

        jMenu4.add(jMenu30);

        jMenu7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/blueprint sticky.png"))); // NOI18N
        jMenu7.setText("Automática   ");

        jMenuItem31.setText("Iniciar");
        jMenuItem31.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem31ActionPerformed(evt);
            }
        });
        jMenu7.add(jMenuItem31);

        jMenu4.add(jMenu7);

        jMenuItem15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Scale.png"))); // NOI18N
        jMenuItem15.setText("background primero lista");
        jMenuItem15.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem15ActionPerformed(evt);
            }
        });
        jMenu4.add(jMenuItem15);

        jMenuBar1.add(jMenu4);

        jMenu8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/package.png"))); // NOI18N
        jMenu8.setText("Lista Paquetes");
        jMenu8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu8ActionPerformed(evt);
            }
        });

        jMenuItem21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/bullet_triangle_yellow.png"))); // NOI18N
        jMenuItem21.setText("Ingresar Nuevo  ");
        jMenuItem21.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem21ActionPerformed1(evt);
            }
        });
        jMenu8.add(jMenuItem21);

        jMenu10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/newspaper_close_32.png"))); // NOI18N
        jMenu10.setText("Eliminar");

        jMenuItem18.setText("Primer Paquete");
        jMenuItem18.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem18ActionPerformed(evt);
            }
        });
        jMenu10.add(jMenuItem18);

        jMenuItem19.setText("Último Paquete");
        jMenuItem19.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem19ActionPerformed(evt);
            }
        });
        jMenu10.add(jMenuItem19);

        jMenuItem20.setText("Paquete Seleccionado");
        jMenuItem20.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem20ActionPerformed(evt);
            }
        });
        jMenu10.add(jMenuItem20);

        jMenu8.add(jMenu10);

        jMenuBar1.add(jMenu8);

        jMenu2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Internet-Alt.png"))); // NOI18N
        jMenu2.setText("Mapa");

        jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/screen_32.png"))); // NOI18N
        jMenuItem3.setText("View");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem3);

        jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/map_magnify.png"))); // NOI18N
        jMenuItem4.setText("Input");
        jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem4ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem4);

        jMenuBar1.add(jMenu2);

        jMenu3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/info_button_20.png"))); // NOI18N
        jMenu3.setText("Ayuda");
        jMenu3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu3ActionPerformed(evt);
            }
        });

        jMenuItem6.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/book_bookmarks_32.png"))); // NOI18N
        jMenuItem6.setText("Manual");
        jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem6ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem6);

        jMenuItem5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/FI02.png"))); // NOI18N
        jMenuItem5.setText("Acerca de ....");
        jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem5ActionPerformed1(evt);
            }
        });
        jMenu3.add(jMenuItem5);

        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(header, javax.swing.GroupLayout.DEFAULT_SIZE, 993, Short.MAX_VALUE)
            .addComponent(jXPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 993, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(header, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jXPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(6, 6, 6)
                .addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 630, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMenu3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu3ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jMenu3ActionPerformed

    private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
    }//GEN-LAST:event_jMenuItem3ActionPerformed

    private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
    }//GEN-LAST:event_jMenuItem5ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        int seleccion = JOptionPane.showConfirmDialog(this, "ESTAS SEGURO DE SALIR ?", "ALERTA", JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE);
        System.out.println("seleccion: " + seleccion);
        if (seleccion == 0) {
            System.exit(0);
        }
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void jMenu4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu4ActionPerformed
    }//GEN-LAST:event_jMenu4ActionPerformed

    private void jMenuItem10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem10ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessBlackSteelSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem10ActionPerformed

    private void jMenuItem11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem11ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new NebulaBrickWallSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem11ActionPerformed

    private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem12ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessBlueSteelSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem12ActionPerformed

    private void jMenuItem13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem13ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem13ActionPerformed

    private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
        try {
            String fileName = "C:/Program Files/Ayuda Agente Repartidor/Ayuda serviEntrega/Ayuda serviEntrega.exe";
            File file = new File(fileName);
            desktop.open(file);
        } catch (IOException ex) {
            System.out.println("No se puede abrir el archivo de ayuda");
            Logger.getLogger(VentanaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_jMenuItem6ActionPerformed

    private void jMenuItem22ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem22ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new CremeSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem22ActionPerformed

    private void jMenuItem23ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem23ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new DustCoffeeSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem23ActionPerformed

    private void jMenuItem24ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem24ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem24ActionPerformed

    private void jMenuItem9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem9ActionPerformed
        try {
            SkinAutumn skinatumn = new SkinAutumn();
            SubstanceLookAndFeel.setSkin(skinatumn);


        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem9ActionPerformed

    private void jMenuItem25ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem25ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new TwilightSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem25ActionPerformed

    private void jMenuItem26ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem26ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new SaharaSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem26ActionPerformed

    private void jMenuItem27ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem27ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new OfficeBlue2007Skin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem27ActionPerformed

    private void jMenuItem28ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem28ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new ModerateSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem28ActionPerformed

    private void jMenuItem29ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem29ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new GraphiteAquaSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
    }//GEN-LAST:event_jMenuItem29ActionPerformed

    private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
    }//GEN-LAST:event_jMenuItem7ActionPerformed

    private void jMenuItem15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem15ActionPerformed
        AddTrayIcon();
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();
            PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(0);

            Localidad localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            Localidad 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);
            this.modeloCombo2.addElement(lugarEntrega);
            mostrarRuta(rutaOptima);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_jMenuItem15ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        System.out.println("Tamaño paquetes: " + this.modeloTablaPaquetesPorEntregar.getPaquetes().size());
        //si todavia no esta creado lo creamos
        if (registroPaquete == null) {
            registroPaquete = new RegistroPaquetes(this, true, modeloCombo2, this.modeloTablaPaquetesPorEntregar);
            registroPaquete.setLocationRelativeTo(this);
        }
        registroPaquete.setVisible(true);
    }//GEN-LAST:event_jButton1ActionPerformed

    private void jMenuItem21ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem21ActionPerformed
    }//GEN-LAST:event_jMenuItem21ActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        jTabbedPaneModoEjecucion.setEnabled(false);
        buscarAutomaticamente();
    }//GEN-LAST:event_jButton4ActionPerformed
    /**
     * preview save dir for PDF report
     */
    File reportPrevDir = null;
    private void jMenuItem16ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem16ActionPerformed
        JFileChooser fileChooser = new JFileChooser();

        if (reportPrevDir == null) {
            reportPrevDir = new File(".").getAbsoluteFile();
        }
        fileChooser.setCurrentDirectory(reportPrevDir);
        String timestamp = new SimpleDateFormat("yyyy_MM_dd_HH_mm").format(Calendar.getInstance().getTime());
        fileChooser.setSelectedFile(new File(reportPrevDir, "angenteTuristico_report_" + timestamp + ".pdf"));

        fileChooser.setFileFilter(new FileFilter() {

            @Override
            public boolean accept(File f) {
                if (f.isDirectory()) {
                    return true;
                }
                if (f.getAbsolutePath().toLowerCase().endsWith(".pdf")) {
                    return true;
                }
                return false;
            }

            @Override
            public String getDescription() {
                return "*.pdf";
            }
        });
        if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
            try {
                reportPrevDir = fileChooser.getCurrentDirectory();
                File filePDF = fileChooser.getSelectedFile();
                //set .pdf extension
                String fileName = filePDF.getName();
                if (!fileName.toLowerCase().endsWith(".pdf")) {
                    String ext = "pdf";
                    if (!fileName.endsWith(".")) {
                        ext = "." + ext;
                    }
                    fileName += ext;
                    File parentDir = filePDF.getParentFile();
                    filePDF = new File(parentDir, fileName);
                }

                if (filePDF.exists()) {
                    if (JOptionPane.showConfirmDialog(this, "Deseas sobreescribir el archivo ?", "Pregunta", JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
                        return;
                    }
                }

                //get parent window image
                Component c = this.pizarraAnimacion;

                //BufferedImage screenImage = (BufferedImage) c.createImage(c.getWidth(), c.getHeight());
                BufferedImage screenImage = (BufferedImage) c.createImage(700, 500);
                //BufferedImage screenImage = (BufferedImage) this.pizarraAnimacion.createImage(200, 200);
                Graphics2D graphics = screenImage.createGraphics();

          

                //c.paint(graphics);

                Agente agente = new Agente();
                //create parameters
                Map<String, String> params = Reporte.getResultInfo(agente);

                //create report

                //sacamos las localidades
                ArrayList<Localidad> localidadesLista = this.mapaDatos.getLocalidades();
                Localidad[] localidades = new Localidad[localidadesLista.size()];
                int contador = 0;
                for (Localidad localidad : localidadesLista) {
                    localidades[contador] = localidad;
                    contador++;
                }

                new Reporte().saveReport(filePDF, localidades, screenImage, params, Reporte.getSystemProperties());

                JOptionPane.showMessageDialog(this, "OK, reporte creado para el archivo: \n" + filePDF, "Info", JOptionPane.INFORMATION_MESSAGE);

                //open the report file
                //only at windows workstations
                try {
                    Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", filePDF.getAbsolutePath()});
                } catch (Throwable ex2) {
                    try {
                        Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start", filePDF.getAbsolutePath()});
                    } catch (Throwable ex3) {
                        // nop
                    }
                }
            } catch (Throwable ex) {
                ex.printStackTrace();
                JOptionPane.showMessageDialog(this, "No se puede guardar el reporte", "Error", JOptionPane.WARNING_MESSAGE);
            }
        }
    }//GEN-LAST:event_jMenuItem16ActionPerformed
    public void cargarAnimacion() {
        pizarraAnimacion = new PizarraSimulacion(mapaDatos);
        panelPizarra.setLayout(new BorderLayout());
        panelPizarra.setSize(700, 500);
        panelPizarra.setPreferredSize(new Dimension(700, 500));
        panelPizarra.add(this.pizarraAnimacion, BorderLayout.CENTER);
    }
    private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
        if (this.mapaVista == null) {
            mapaVista = new MapaVista(this, true, this.mapaDatos);
            mapaVista.setLocationRelativeTo(this);
        }
        mapaVista.setVisible(true);
    }//GEN-LAST:event_jMenuItem4ActionPerformed

    private void jMenuItem5ActionPerformed1(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed1
        //si todavia no esta creado lo creamos
        if (aboutUS == null) {
            aboutUS = new AcercaDeNosotros(this, true);
            aboutUS.setLocationRelativeTo(this);
        }
        aboutUS.setVisible(true);
    }//GEN-LAST:event_jMenuItem5ActionPerformed1

    private void jMenuItem21ActionPerformed1(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem21ActionPerformed1
        if (registroPaquete == null) {
            registroPaquete = new RegistroPaquetes(this, true, modeloCombo2, this.modeloTablaPaquetesPorEntregar);
            registroPaquete.setLocationRelativeTo(this);
        }
        registroPaquete.setVisible(true);
    }//GEN-LAST:event_jMenuItem21ActionPerformed1

    private void jMenu8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu8ActionPerformed
    }//GEN-LAST:event_jMenu8ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        //antes de eliminar
        PaqueteEntrega paqueteEliminado = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(this.filaSeleccionada);
        this.modeloTablaPaquetesPorEntregar.eliminarPaquete(this.filaSeleccionada);
        LugarEntrega lugarEntrega = new LugarEntrega(paqueteEliminado.getPunto(), paqueteEliminado.getNombreBarrio());
        this.modeloCombo2.addElement(lugarEntrega);
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jMenuItem30ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem30ActionPerformed
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();

            PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(this.filaSeleccionada);

            Localidad localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            Localidad localidadDestino = this.mapaDatos.getLocalidades().get(paqueteEntrega.getPunto() - 1);

            System.out.println("Localidad Inicial: " + localidadInicio);
            System.out.println("Localidad Destino: " + localidadDestino);

           
            //nodoRaiz.add(nodoRaiz);
            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(this.filaSeleccionada);
            LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
            this.modeloCombo2.addElement(lugarEntregaPasado);
            mostrarRuta(rutaOptima);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }


    }//GEN-LAST:event_jMenuItem30ActionPerformed

    private void jMenuItem37ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem37ActionPerformed
        try {
            SkinAutumn skinatumn = new SkinAutumn();
            SubstanceLookAndFeel.setSkin(skinatumn);


        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem37ActionPerformed

    private void jMenuItem38ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem38ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessBlackSteelSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem38ActionPerformed

    private void jMenuItem39ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem39ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessBlueSteelSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem39ActionPerformed

    private void jMenuItem40ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem40ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new BusinessSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem40ActionPerformed

    private void jMenuItem41ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem41ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new CremeSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem41ActionPerformed

    private void jMenuItem42ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem42ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new DustCoffeeSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem42ActionPerformed

    private void jMenuItem43ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem43ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new EmeraldDuskSkin());

        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem43ActionPerformed

    private void jMenuItem44ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem44ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new GraphiteAquaSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem44ActionPerformed

    private void jMenuItem45ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem45ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new ModerateSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem45ActionPerformed

    private void jMenuItem46ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem46ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new OfficeBlue2007Skin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem46ActionPerformed

    private void jMenuItem47ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem47ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new SaharaSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem47ActionPerformed

    private void jMenuItem48ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem48ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new TwilightSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem48ActionPerformed

    private void jMenuItem49ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem49ActionPerformed
        try {
            SubstanceLookAndFeel.setSkin(new NebulaBrickWallSkin());
        } catch (Exception e) {
            System.out.println("Substance Graphite failed to initialize");
        }
}//GEN-LAST:event_jMenuItem49ActionPerformed

    private void jMenuItem14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem14ActionPerformed
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();
            PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(0);

            Localidad localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            Localidad 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);
            mostrarRuta(rutaOptima);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_jMenuItem14ActionPerformed

    private void jMenuItem31ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem31ActionPerformed
        buscarAutomaticamente();
    }//GEN-LAST:event_jMenuItem31ActionPerformed

    private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButton3ActionPerformed
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();

            PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(this.filaSeleccionada);

            Localidad localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            Localidad 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(this.filaSeleccionada);
            LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
            this.modeloCombo2.addElement(lugarEntregaPasado);
            mostrarRuta(rutaOptima);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_jRadioButton3ActionPerformed

    private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButton2ActionPerformed
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();
            PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(0);

            Localidad localidadInicio = this.mapaDatos.getLocalidades().get(lugarEntrega.getId() - 1);
            Localidad 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);
            mostrarRuta(rutaOptima);

        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_jRadioButton2ActionPerformed
    public void mostrarRuta(ArrayList<Integer> rutaOptima){
        this.rutaOptimaText.setText("");
        for (Integer integer : rutaOptima) {
            this.rutaOptimaText.setText(this.rutaOptimaText.getText()+"----->"+this.mapaDatos.getLocalidades().get(integer).getBarrio().getDenominacion());
        }
    }
    private void jMenuItem18ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem18ActionPerformed
        PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(0);
        LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
        this.modeloCombo2.addElement(lugarEntregaPasado);
        this.modeloTablaPaquetesPorEntregar.eliminarPaquete(0);
    }//GEN-LAST:event_jMenuItem18ActionPerformed

    private void jMenuItem19ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem19ActionPerformed
        PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(this.modeloTablaPaquetesPorEntregar.getPaquetes().size()-1);
        LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
        this.modeloCombo2.addElement(lugarEntregaPasado);
        this.modeloTablaPaquetesPorEntregar.eliminarPaquete(this.modeloTablaPaquetesPorEntregar.getPaquetes().size()-1);
    }//GEN-LAST:event_jMenuItem19ActionPerformed

    private void jMenuItem20ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem20ActionPerformed
        PaqueteEntrega paqueteEntrega = this.modeloTablaPaquetesPorEntregar.getPaquetes().get(this.filaSeleccionada);
        LugarEntrega lugarEntregaPasado = new LugarEntrega(paqueteEntrega.getPunto(), paqueteEntrega.getNombreBarrio());
        this.modeloCombo2.addElement(lugarEntregaPasado);
        this.modeloTablaPaquetesPorEntregar.eliminarPaquete(this.filaSeleccionada);
    }//GEN-LAST:event_jMenuItem20ActionPerformed
    public void buscarAutomaticamente() {
        //Primero obtenemos las localidades de inicio y destino
        try {
            LugarEntrega lugarEntrega = (LugarEntrega) jComboBoxBarrios.getSelectedItem();
            this.simulacionAutomatica = new SimulacionAutomatica(this.rutaOptimaText,this.jTabbedPaneModoEjecucion, this, lugarEntrega, textoRecorrido, modeloTablaPaquetesPorEntregar, modeloTablaPaquetesEntregados, mapaDatos, pizarraAnimacion, busqueda, modeloCombo2);
            this.simulacionAutomatica.setTiempoPausa(Integer.parseInt(this.contadorSpiner.getValue().toString()));
            this.simulacionAutomatica.start();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "Revise por favor la lista de paquetes", "ERROR", JOptionPane.ERROR_MESSAGE);
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                try {
                    SubstanceLookAndFeel.setSkin(new TwilightSkin());
                } catch (Exception e) {
                    System.out.println("Substance Graphite failed to initialize");
                }
                VentanaPrincipal ventana = new VentanaPrincipal();
                ventana.setVisible(true);
                ventana.doTransparentComponents();
                ventana.repaint();
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.ButtonGroup buttonGroup3;
    private javax.swing.JSpinner contadorSpiner;
    private org.jdesktop.swingx.JXPanel header;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton4;
    private javax.swing.JComboBox jComboBoxBarrios;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu10;
    private javax.swing.JMenu jMenu11;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu30;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenu jMenu6;
    private javax.swing.JMenu jMenu7;
    private javax.swing.JMenu jMenu8;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem10;
    private javax.swing.JMenuItem jMenuItem11;
    private javax.swing.JMenuItem jMenuItem12;
    private javax.swing.JMenuItem jMenuItem13;
    private javax.swing.JMenuItem jMenuItem14;
    private javax.swing.JMenuItem jMenuItem15;
    private javax.swing.JMenuItem jMenuItem16;
    private javax.swing.JMenuItem jMenuItem18;
    private javax.swing.JMenuItem jMenuItem19;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem20;
    private javax.swing.JMenuItem jMenuItem21;
    private javax.swing.JMenuItem jMenuItem22;
    private javax.swing.JMenuItem jMenuItem23;
    private javax.swing.JMenuItem jMenuItem24;
    private javax.swing.JMenuItem jMenuItem25;
    private javax.swing.JMenuItem jMenuItem26;
    private javax.swing.JMenuItem jMenuItem27;
    private javax.swing.JMenuItem jMenuItem28;
    private javax.swing.JMenuItem jMenuItem29;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem30;
    private javax.swing.JMenuItem jMenuItem31;
    private javax.swing.JMenuItem jMenuItem37;
    private javax.swing.JMenuItem jMenuItem38;
    private javax.swing.JMenuItem jMenuItem39;
    private javax.swing.JMenuItem jMenuItem4;
    private javax.swing.JMenuItem jMenuItem40;
    private javax.swing.JMenuItem jMenuItem41;
    private javax.swing.JMenuItem jMenuItem42;
    private javax.swing.JMenuItem jMenuItem43;
    private javax.swing.JMenuItem jMenuItem44;
    private javax.swing.JMenuItem jMenuItem45;
    private javax.swing.JMenuItem jMenuItem46;
    private javax.swing.JMenuItem jMenuItem47;
    private javax.swing.JMenuItem jMenuItem48;
    private javax.swing.JMenuItem jMenuItem49;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanelAutomatica;
    private javax.swing.JPanel jPanelManual;
    private javax.swing.JRadioButton jRadioButton2;
    private javax.swing.JRadioButton jRadioButton3;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JPopupMenu.Separator jSeparator2;
    private javax.swing.JPopupMenu.Separator jSeparator5;
    private javax.swing.JPopupMenu.Separator jSeparator6;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JSplitPane jSplitPane2;
    private javax.swing.JSplitPane jSplitPane3;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTabbedPane jTabbedPaneModoEjecucion;
    private org.jdesktop.swingx.JXLabel jXLabel3;
    private org.jdesktop.swingx.JXPanel jXPanel2;
    private org.jdesktop.swingx.JXPanel jXPanelListaPaquetes;
    private org.jdesktop.swingx.JXTitledPanel jXTitledPanel3;
    private org.jdesktop.swingx.JXTitledPanel jXTitledPanel5;
    private org.jdesktop.swingx.JXLabel labelCamion;
    private javax.swing.JPanel panelAnimacion2;
    private javax.swing.JPanel panelConfiguracion;
    private javax.swing.JPanel panelPizarra;
    private javax.swing.JPanel panelSeleccion;
    private org.jdesktop.swingx.JXPanel panelSimulacion;
    private org.jdesktop.swingx.JXTitledPanel panelTituloRecorrido;
    private org.jdesktop.swingx.JXTitledPanel panelTituloSimulacion;
    private javax.swing.JTextField rutaOptimaText;
    private javax.swing.JTable tablaPaquetesEntregados;
    private javax.swing.JTable tablaPaquetesPorEntregar;
    private javax.swing.JTextArea textoRecorrido;
    // End of variables declaration//GEN-END:variables
}
TOP

Related Classes of interfaz.VentanaPrincipal

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.