diff --git a/ProyectoVentaBoletos/src/main/java/controller/MenuController.java b/ProyectoVentaBoletos/src/main/java/controller/MenuController.java
index bfe30ef..f9c6e3c 100644
--- a/ProyectoVentaBoletos/src/main/java/controller/MenuController.java
+++ b/ProyectoVentaBoletos/src/main/java/controller/MenuController.java
@@ -3,6 +3,8 @@ package controller;
 import java.awt.BorderLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.sql.ResultSet;
@@ -15,27 +17,44 @@ import model.ModeloSQL;
 import view.Menu;
 import view.MenuSala;
 
-public class MenuController extends WindowAdapter implements ActionListener {
+public class MenuController extends WindowAdapter implements ActionListener, ItemListener {
     private Menu menu;
+    private MenuSala menuSala;
     private ModeloSQL modeloSQL;
+    private String seleccionEventoComboBox;
+    private ArrayList<Evento> arrayListEventos;
     
     public MenuController(Menu menu){
         this.menu = menu;
         this.modeloSQL = new ModeloSQL();
+        arrayListEventos = new ArrayList<>();
         obtenerEventosDefaultComboBoxMoldel();
     }
     
+    @Override
     public void actionPerformed(ActionEvent e){
         Object o = e.getSource();
-        
         // Si se presiona el boton de visualizar
         if(o.equals(menu.jButtonVisualizar)){
-            System.out.println("controller.MenuController.actionPerformed(): jButtonVisualizar");
-            MenuSala menuSala = new MenuSala();
-            menu.jPanelMenuSala.removeAll(); // Limpiar panel
-            menu.jPanelMenuSala.add(menuSala, BorderLayout.CENTER); // Agrega el nuevo JPanel
-            menu.jPanelMenuSala.revalidate();  // Reorganiza los componentes
-            menu. jPanelMenuSala.repaint();     // Redibuja la interfaz
+            // Si se ha seleccionado un evento del comboBox
+            if(seleccionEventoComboBox != null && seleccionEventoComboBox != "Seleccione un evento"){
+                System.out.println("controller.MenuController.actionPerformed(): visualizar evento de " + seleccionEventoComboBox);
+                menuSala = new MenuSala(obtenerIdEventoSeleccionado(seleccionEventoComboBox), seleccionEventoComboBox);
+                menu.jPanelMenuSala.removeAll(); // Limpiar panel
+                menu.jPanelMenuSala.add(menuSala, BorderLayout.CENTER); // Agrega el nuevo JPanel
+                menu.jPanelMenuSala.revalidate();  // Reorganiza los componentes
+                menu. jPanelMenuSala.repaint();     // Redibuja la interfaz
+            } else {
+                menu.mensaje("Debe seleccionar un evento.");
+            }
+        }
+    }
+    
+    public void itemStateChanged(ItemEvent e) {
+        // Obtener evento musical seleccionado del ComboBox
+        if (e.getStateChange() == ItemEvent.SELECTED) {
+            seleccionEventoComboBox = (String) menu.jComboBoxEventos.getSelectedItem();
+            System.out.println("controller.MenuController.itemStateChanged: seleccionó " + seleccionEventoComboBox);
         }
     }
     
@@ -48,13 +67,26 @@ public class MenuController extends WindowAdapter implements ActionListener {
     // Obtener ResultSet de ModeloSQL y añádir eventos al ComboBoxModel del ComboBox de eventos
     public void obtenerEventosDefaultComboBoxMoldel(){
         ResultSet rs = modeloSQL.obtenerEventos();
+        menu.defaultComboBoxModel.addElement("Seleccione un evento");
         try {
             while ( rs.next() ){
+                arrayListEventos.add(new Evento(rs.getInt("idEvento"), rs.getString("nombre"), rs.getDate("fecha")));
                 menu.defaultComboBoxModel.addElement(rs.getString("nombre"));
                 System.out.println("MenuController.obtenerEventosDefaultComboBoxMoldel(): + " + rs.getString("nombre"));
             }
         } catch (SQLException ex) {
-            System.out.println("MenuController.obtenerEventosDefaultComboBoxMoldel(): error " + ex);;
+            System.out.println("MenuController.obtenerEventosDefaultComboBoxMoldel(): error " + ex);
         }
     }
+    
+    public int obtenerIdEventoSeleccionado(String nombreEvento){
+        int idEvento = 0;
+        for(Evento evento: arrayListEventos){
+            if(evento.getNombre().equals(nombreEvento)){
+                idEvento = evento.getIdEvento();
+                System.out.println("MenuController.obtenerIdEventoSeleccionado: " + nombreEvento + " id: " + idEvento );
+            }
+        }
+        return idEvento;
+    }
 }
diff --git a/ProyectoVentaBoletos/src/main/java/controller/MenuSalaController.java b/ProyectoVentaBoletos/src/main/java/controller/MenuSalaController.java
new file mode 100644
index 0000000..6772a05
--- /dev/null
+++ b/ProyectoVentaBoletos/src/main/java/controller/MenuSalaController.java
@@ -0,0 +1,175 @@
+package controller;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import javax.swing.JToggleButton;
+import javax.swing.SwingUtilities;
+import model.Asiento;
+import view.MenuSala;
+import model.ModeloSQL;
+
+public class MenuSalaController implements ActionListener, ItemListener{
+    private int idEvento;
+    private MenuSala menuSala;
+    private ModeloSQL modeloSQL = new ModeloSQL();
+    
+    private ArrayList<JToggleButton> arrayListAsientosSeleccionados;
+    
+    //private int filas = 6;
+    private int columnas = 7;
+    private int largoBoton = 140;
+    private int anchoBoton = 60;
+
+    
+    boolean clickAsientosHabilitado = false;// Variable bandera para permitir o no la selección de asientos
+    
+    public MenuSalaController(MenuSala menuSala) {
+        this.menuSala = menuSala;
+        this.modeloSQL = new ModeloSQL();
+        this.idEvento = menuSala.getIdEvento();
+        obtenerAsientos(idEvento);// Obtener información del evento seleccionado desde la BD y añadir botones
+        arrayListAsientosSeleccionados = new ArrayList<>();
+    }
+
+    public void obtenerAsientos(int idEvento){
+        arrayListAsientosSeleccionados = null;
+        arrayListAsientosSeleccionados = new ArrayList<>();
+        int ejeX = 20;
+        int ejeY = 20;
+        ResultSet rs = modeloSQL.obtenerAsientosDisponibles(idEvento);
+        int numeroAsiento = 0;
+        try {
+            while ( rs.next() ){
+                int idAsiento = rs.getInt("idAsiento");
+                String fila = rs.getString("fila");
+                int numero = rs.getInt("numero");
+                String estado = rs.getString("estado");
+                
+                Asiento asiento = new Asiento(idEvento, fila, numero);// Crear objeto asiento
+                
+                JToggleButton botonAsiento = new JToggleButton(fila + ""+ numero + " ("+estado+")");// Crear botón
+                botonAsiento.setBounds(ejeX, ejeY, largoBoton, anchoBoton);// Establecer posición del botón
+                
+                // Guadar información dentro del botón
+                botonAsiento.putClientProperty("asiento", asiento);
+                botonAsiento.putClientProperty("idAsiento", idAsiento);
+                botonAsiento.putClientProperty("estado", estado);
+                
+                // Si el el asiento está vendido pintarlo de color rojo
+                if(estado.equals("vendido")){
+                    //botonAsiento.setEnabled(false);
+                    botonAsiento.setBackground(Color.RED);
+                    botonAsiento.setForeground(Color.WHITE);
+                } else {// Si el asiento no está vendido pintarlo de color verde
+                    botonAsiento.setBackground(Color.GREEN);
+                }
+                 
+                botonAsiento.addItemListener(this);
+                
+                menuSala.jPanelBotones.add(botonAsiento);// Añadir botón al JPanel de MenuSala
+                
+                ejeX += 160;// Actualizar posición vertical del siguiente botón
+                numeroAsiento++;
+                
+                // Si da igual a 0, significa que el siguiente botón debe ir en la siguiente fila
+                if (numeroAsiento % columnas == 0) {
+                    ejeY += 70;// Ajustar posición horizontal para la siguiente fila
+                    ejeX = 20;// Ajustar posición vertical ya que es una nueva fila
+                }
+            }
+        } catch (SQLException ex) {
+            System.out.println("[X] controller.MenuSalaController.obtenerAsientos(): error " + ex);
+        }
+    }
+    
+    @Override
+    public void actionPerformed(ActionEvent e){
+        Object o = e.getSource();
+        
+        // Si se presiono el boton para seleccionar asientos para una venta
+        if(o.equals(menuSala.jButtonSeleccionarAsientosVenta)){
+            if (!clickAsientosHabilitado){// Si la selección de asientos está bloqueada
+                clickAsientosHabilitado = true;// Permitir la selección de asientos
+                menuSala.jButtonRealizarVenta.setEnabled(true);
+                menuSala.jPanelBotones.setBackground(Color.decode("#d7f1ce"));
+                menuSala.jButtonSeleccionarAsientosVenta.setBackground(Color.YELLOW);
+            } else {
+                menuSala.jPanelBotones.removeAll();
+                menuSala.revalidate();
+                menuSala.repaint();
+                obtenerAsientos(idEvento);
+                clickAsientosHabilitado = false;
+                menuSala.jButtonRealizarVenta.setEnabled(false);
+                menuSala.jPanelBotones.setBackground(Color.decode("#F6F6F6"));
+                menuSala.jButtonSeleccionarAsientosVenta.setBackground(Color.WHITE);
+            }
+        }
+        
+        // Si se presiono el botón realizar venta
+        if(o.equals(menuSala.jButtonRealizarVenta)){
+            // Verificar que se seleccionó por lo menos un asiento
+            if (!arrayListAsientosSeleccionados.isEmpty()) {
+
+            } else {
+                menuSala.mensaje("No ha seleccionado ningún asiento.");
+            }
+        }
+        
+    }
+    
+    @Override
+    public void itemStateChanged(ItemEvent e){
+        Object componente = e.getSource();
+        if (componente instanceof JToggleButton) {// Si el evento es un botón de asiento
+            JToggleButton botonAsiento = (JToggleButton) componente;// Obtener botón
+
+            String estado = (String) botonAsiento.getClientProperty("estado");// Obtener estado del asiento
+            
+            // Si no está habilitada la modificación de asientos (o si el botón está vendo), revertir el cambio de estado 
+            if (!clickAsientosHabilitado || estado.equals("vendido")) {
+                botonAsiento.removeItemListener(this);// Remover temporalmente el listener para evitar ciclos infinitos
+                botonAsiento.setSelected(!botonAsiento.isSelected());// Revertir el cambio de estado
+                botonAsiento.addItemListener(this);// Volver a agregar el listener
+                return;
+            }
+            
+            Asiento asiento = (Asiento) botonAsiento.getClientProperty("asiento");// Obtener el objeto asiento que estaba dentro del botón
+            int idAsiento = (int) botonAsiento.getClientProperty("idAsiento");
+            
+            // Si el botón se ha seleccionado
+            if (e.getStateChange() == ItemEvent.SELECTED) {
+                arrayListAsientosSeleccionados.add(botonAsiento);
+                System.out.println("controller.MenuSalaController.itemStateChanged(): " + asiento.getFila() + "" + asiento.getNumero() + " añadido a arrayListAsientosSeleccionados");
+                System.out.println("controller.MenuSalaController.itemStateChanged(): " + asiento.getFila() + asiento.getNumero() + " seleccionado.");
+                botonAsiento.setBackground(Color.YELLOW);
+                botonAsiento.setForeground(Color.WHITE);
+
+            } else if (e.getStateChange() == ItemEvent.DESELECTED) {// Si el botón se ha deseleccionado
+                if(arrayListAsientosSeleccionados.contains(botonAsiento)){
+                    arrayListAsientosSeleccionados.remove(botonAsiento);
+                    System.out.println("controller.MenuSalaController.itemStateChanged(): " + asiento.getFila() + "" + asiento.getNumero() + " eliminado de arrayListAsientosSeleccionados");
+                }
+                System.out.println("controller.MenuSalaController.itemStateChanged(): " + asiento.getFila() + asiento.getNumero() + " deseleccionado.");
+                botonAsiento.setBackground(Color.GREEN);
+                botonAsiento.setForeground(Color.BLACK);
+            }
+        }
+    }
+    
+    public void realizarVenta(ArrayList<JToggleButton> arrayBotones){
+        ArrayList<Asiento> arrayAsientos = new ArrayList<>();
+        for(JToggleButton boton: arrayBotones){
+            Asiento asiento = (Asiento) boton.getClientProperty("asiento");
+            arrayAsientos.add(asiento);
+        }
+        
+    }
+    
+}
diff --git a/ProyectoVentaBoletos/src/main/java/model/Asiento.java b/ProyectoVentaBoletos/src/main/java/model/Asiento.java
index 3f8e962..99e0f08 100644
--- a/ProyectoVentaBoletos/src/main/java/model/Asiento.java
+++ b/ProyectoVentaBoletos/src/main/java/model/Asiento.java
@@ -1,14 +1,16 @@
 package model;
 
 public class Asiento {
-    private String idEvento;
+    private int idAsiento;
     private String fila;
     private int numero;
-
-    public void setIdEvento(String idEvento) {
-        this.idEvento = idEvento;
-    }
     
+    public Asiento(int idAsiento, String fila, int numero) {
+        this.idAsiento = idAsiento;
+        this.fila = fila;
+        this.numero = numero;
+    }
+
     public void setFila(String fila) {
         this.fila = fila;
     }
@@ -17,10 +19,6 @@ public class Asiento {
         this.numero = numero;
     }
     
-    public String getIdEvento() {
-        return idEvento;
-    }
-
     public String getFila() {
         return fila;
     }
diff --git a/ProyectoVentaBoletos/src/main/java/model/Boleto.java b/ProyectoVentaBoletos/src/main/java/model/Boleto.java
index 94f0107..8143128 100644
--- a/ProyectoVentaBoletos/src/main/java/model/Boleto.java
+++ b/ProyectoVentaBoletos/src/main/java/model/Boleto.java
@@ -8,17 +8,13 @@ public class Boleto {
     private int idAsiento;
     private double precio;
     private String estado;
-    private LocalDateTime fechaVenta;
     private Integer idVenta;
 
-    public Boleto(int idBoleto, int idEvento, int idAsiento, double precio, String estado, LocalDateTime fechaVenta, Integer idVenta) {
-        this.idBoleto = idBoleto;
+    public Boleto(int idEvento, int idAsiento, double precio) {
         this.idEvento = idEvento;
         this.idAsiento = idAsiento;
         this.precio = precio;
-        this.estado = estado;
-        this.fechaVenta = fechaVenta;
-        this.idVenta = idVenta;
+        this.estado = "vendido";
     }
 
     public void setIdBoleto(int idBoleto) {
@@ -41,10 +37,6 @@ public class Boleto {
         this.estado = estado;
     }
 
-    public void setFechaVenta(LocalDateTime fechaVenta) {
-        this.fechaVenta = fechaVenta;
-    }
-
     public void setIdVenta(Integer idVenta) {
         this.idVenta = idVenta;
     }
@@ -69,13 +61,7 @@ public class Boleto {
         return estado;
     }
 
-    public LocalDateTime getFechaVenta() {
-        return fechaVenta;
-    }
-
     public Integer getIdVenta() {
         return idVenta;
     }
-    
-    // Método para cambiar estado venderBoleto() que establezca estado, fechaVenta e idVenta.
 }
diff --git a/ProyectoVentaBoletos/src/main/java/model/Evento.java b/ProyectoVentaBoletos/src/main/java/model/Evento.java
index 4860bb4..4acacb1 100644
--- a/ProyectoVentaBoletos/src/main/java/model/Evento.java
+++ b/ProyectoVentaBoletos/src/main/java/model/Evento.java
@@ -1,11 +1,17 @@
 package model;
 
-import java.time.LocalDate;
+import java.sql.Date;
 
 public class Evento {
     private int idEvento;
     private String nombre;
-    private LocalDate fecha;
+    private Date fecha;
+    
+    public Evento(int idEvento, String nombre, Date fecha){
+        this.idEvento = idEvento;
+        this.nombre = nombre;
+        this.fecha = fecha;
+    }
 
     public void setIdEvento(int idEvento) {
         this.idEvento = idEvento;
@@ -15,7 +21,7 @@ public class Evento {
         this.nombre = nombre;
     }
 
-    public void setFecha(LocalDate fecha) {
+    public void setFecha(Date fecha) {
         this.fecha = fecha;
     }
 
@@ -27,7 +33,7 @@ public class Evento {
         return nombre;
     }
 
-    public LocalDate getFecha() {
+    public Date getFecha() {
         return fecha;
     }
         
diff --git a/ProyectoVentaBoletos/src/main/java/model/ModeloSQL.java b/ProyectoVentaBoletos/src/main/java/model/ModeloSQL.java
index 143b998..8b0bb8a 100644
--- a/ProyectoVentaBoletos/src/main/java/model/ModeloSQL.java
+++ b/ProyectoVentaBoletos/src/main/java/model/ModeloSQL.java
@@ -14,9 +14,9 @@ public class ModeloSQL {
     // Eventos
     public ResultSet obtenerEventos(){
         ResultSet rs = null;
+        String consulta = "SELECT * FROM eventos";
         try {
             Statement st = con.createStatement();
-            String consulta = "SELECT * FROM eventos";
             rs = st.executeQuery(consulta);
             System.out.println("ModeloSQL.obtenerEventos(): eventos obtenidos.");
         } catch (SQLException e) {
@@ -25,7 +25,55 @@ public class ModeloSQL {
         return rs;
     }
     
+    // Asientos
+    public ResultSet obtenerAsientosDisponibles(int idEvento){
+        ResultSet rs = null;
+        String consulta = "SELECT a.idAsiento, a.fila, a.numero, IFNULL(b.estado, 'disponible') AS estado " +
+                "FROM asientos a " +
+                "LEFT JOIN boletos b ON a.idAsiento = b.idAsiento AND b.idEvento = "+idEvento+"";
+        try {
+            Statement st = con.createStatement();
+            rs = st.executeQuery(consulta);
+            System.out.println("ModeloSQL.obtenerAsientosDisponibles: asientos obtenidos.");
+        } catch (SQLException e) {
+        }
+        return rs;
+    }
+    
+    // Venta
+    public void registrarVenta(int idEvento, int totalBoletos, Double totalMonto){
+        String sql = "INSERT INTO ventas (idEvento, fechaVenta, totalBoletos, totalMonto) VALUES (?, NOW(), ?, ?)";
+        PreparedStatement pst = null;
+        try {
+            pst = con.prepareStatement(sql);
+            pst.setInt(1, idEvento);
+            pst.setInt(2, totalBoletos);
+            pst.setDouble(3, totalMonto);
+            pst.executeUpdate();
+            pst.close();
+            System.out.println("model.ModeloSQL.crearVenta(): venta registrada.");
+        } catch (SQLException ex) {
+            System.out.println("[X] model.ModeloSQL.crearVenta(): " + ex);
+        }
+    }
     // Boleto
+    public void registrarBoleto(int idEvento, int idAsiento, double precio, int idVenta){
+        String sql = "INSERT INTO boletos (idEvento, idAsiento, precio, idVenta) VALUES (?, ?, ?, ?)";
+        PreparedStatement pst = null;
+        try {
+            pst = con.prepareStatement(sql);
+            pst.setInt(1, idEvento);
+            pst.setInt(2, idAsiento);
+            pst.setDouble(3, precio);
+            pst.setInt(4, idVenta);
+            pst.executeUpdate();
+            pst.close();
+            System.out.println("model.ModeloSQL.registrarBoleto(): boleto registrado.");
+        } catch (SQLException ex) {
+            System.out.println("[X] model.ModeloSQL.registrarBoleto(): " + ex);
+        }
+    }
+    
     
     public ResultSet obtenerBoletosPorEvento(int idEvento){
         ResultSet rs = null;
diff --git a/ProyectoVentaBoletos/src/main/java/model/Venta.java b/ProyectoVentaBoletos/src/main/java/model/Venta.java
index a20c358..0bbe764 100644
--- a/ProyectoVentaBoletos/src/main/java/model/Venta.java
+++ b/ProyectoVentaBoletos/src/main/java/model/Venta.java
@@ -1,14 +1,17 @@
 package model;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
+import javax.swing.JToggleButton;
 
 public class Venta {
     private int idVenta;
     private int idEvento;
     private LocalDateTime fechaVenta;
-    private String vendedor;
-    private List<Boleto> boletos;
+    private int totalBoletos;
+    private int totalMonto;
+    private ArrayList<JToggleButton> asientosVenta;
 
     public void setIdVenta(int idVenta) {
         this.idVenta = idVenta;
@@ -22,14 +25,18 @@ public class Venta {
         this.fechaVenta = fechaVenta;
     }
 
-    public void setBoletos(List<Boleto> boletos) {
-        this.boletos = boletos;
+    public void setTotalBoletos(int totalBoletos) {
+        this.totalBoletos = totalBoletos;
     }
 
-    public void setVendedor(String vendedor) {
-        this.vendedor = vendedor;
+    public void setTotalMonto(int totalMonto) {
+        this.totalMonto = totalMonto;
     }
 
+    public void setAsientosVenta(ArrayList<JToggleButton> asientosVenta) {
+        this.asientosVenta = asientosVenta;
+    }
+    
     public int getIdVenta() {
         return idVenta;
     }
@@ -42,14 +49,16 @@ public class Venta {
         return fechaVenta;
     }
 
-    public String getVendedor() {
-        return vendedor;
+    public int getTotalBoletos() {
+        return totalBoletos;
     }
 
-    public List<Boleto> getBoletos() {
-        return boletos;
+    public int getTotalMonto() {
+        return totalMonto;
+    }
+
+    public ArrayList<JToggleButton> getAsientosVenta() {
+        return asientosVenta;
     }
     
-    // métodos para agregar boletos, calcular total, etc.
-
 }
diff --git a/ProyectoVentaBoletos/src/main/java/view/Menu.form b/ProyectoVentaBoletos/src/main/java/view/Menu.form
index b171880..9b82742 100644
--- a/ProyectoVentaBoletos/src/main/java/view/Menu.form
+++ b/ProyectoVentaBoletos/src/main/java/view/Menu.form
@@ -10,6 +10,10 @@
     <Property name="location" type="java.awt.Point" editor="org.netbeans.beaninfo.editors.PointEditor">
       <Point value="[0, 0]"/>
     </Property>
+    <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+      <Dimension value="[1180, 650]"/>
+    </Property>
+    <Property name="resizable" type="boolean" value="false"/>
     <Property name="size" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
       <Dimension value="[0, 0]"/>
     </Property>
@@ -35,31 +39,28 @@
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" alignment="0" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Component id="jPanelMenuSala" max="32767" attributes="0"/>
-                  <Group type="102" attributes="0">
-                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jComboBoxEventos" min="-2" pref="170" max="-2" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jButtonVisualizar" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace min="0" pref="316" max="32767" attributes="0"/>
-                  </Group>
-              </Group>
+              <Component id="jPanelMenuSala" max="32767" attributes="0"/>
               <EmptySpace max="-2" attributes="0"/>
           </Group>
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace min="-2" pref="349" max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jComboBoxEventos" min="-2" pref="170" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jButtonVisualizar" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
+          </Group>
       </Group>
     </DimensionLayout>
     <DimensionLayout dim="1">
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" alignment="0" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
-              <Group type="103" groupAlignment="0" max="-2" attributes="0">
-                  <Group type="103" groupAlignment="3" attributes="0">
-                      <Component id="jComboBoxEventos" alignment="3" max="32767" attributes="0"/>
-                      <Component id="jButtonVisualizar" alignment="3" min="-2" max="-2" attributes="0"/>
-                  </Group>
-                  <Component id="jLabel1" max="32767" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jComboBoxEventos" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jButtonVisualizar" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabel1" alignment="3" max="32767" attributes="0"/>
               </Group>
               <EmptySpace max="-2" attributes="0"/>
               <Component id="jPanelMenuSala" max="32767" attributes="0"/>
@@ -71,9 +72,6 @@
   <SubComponents>
     <Component class="javax.swing.JLabel" name="jLabel1">
       <Properties>
-        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-          <Font name="Gill Sans MT" size="14" style="0"/>
-        </Property>
         <Property name="text" type="java.lang.String" value="Seleccione un evento:"/>
       </Properties>
     </Component>
@@ -97,11 +95,6 @@
       </AuxValues>
     </Component>
     <Container class="javax.swing.JPanel" name="jPanelMenuSala">
-      <Properties>
-        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
-          <Color blue="fd" green="fa" red="f8" type="rgb"/>
-        </Property>
-      </Properties>
       <AuxValues>
         <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
       </AuxValues>
@@ -109,7 +102,7 @@
       <Layout>
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
-              <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+              <EmptySpace min="0" pref="1168" max="32767" attributes="0"/>
           </Group>
         </DimensionLayout>
         <DimensionLayout dim="1">
diff --git a/ProyectoVentaBoletos/src/main/java/view/Menu.java b/ProyectoVentaBoletos/src/main/java/view/Menu.java
index ef0bd61..99e7961 100644
--- a/ProyectoVentaBoletos/src/main/java/view/Menu.java
+++ b/ProyectoVentaBoletos/src/main/java/view/Menu.java
@@ -3,6 +3,7 @@ package view;
 import java.awt.BorderLayout;
 import controller.MenuController;
 import javax.swing.DefaultComboBoxModel;
+import javax.swing.JOptionPane;
 
 public class Menu extends javax.swing.JFrame {
     
@@ -17,9 +18,14 @@ public class Menu extends javax.swing.JFrame {
         
         MenuController menuController = new MenuController(this);
         this.jButtonVisualizar.addActionListener(menuController);
+        this.jComboBoxEventos.addItemListener(menuController);
         addWindowListener(menuController);
     }
-
+    
+    public void mensaje(String mensaje){
+        JOptionPane.showMessageDialog(this, mensaje);
+    }
+    
     @SuppressWarnings("unchecked")
     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
     private void initComponents() {
@@ -33,22 +39,21 @@ public class Menu extends javax.swing.JFrame {
         setTitle("Aplicación de venta de boletos");
         setBackground(new java.awt.Color(255, 255, 255));
         setLocation(new java.awt.Point(0, 0));
+        setPreferredSize(new java.awt.Dimension(1180, 650));
+        setResizable(false);
         setSize(new java.awt.Dimension(0, 0));
 
-        jLabel1.setFont(new java.awt.Font("Gill Sans MT", 0, 14)); // NOI18N
         jLabel1.setText("Seleccione un evento:");
 
         jComboBoxEventos.setModel(defaultComboBoxModel);
 
         jButtonVisualizar.setText("Visualizar");
 
-        jPanelMenuSala.setBackground(new java.awt.Color(248, 250, 253));
-
         javax.swing.GroupLayout jPanelMenuSalaLayout = new javax.swing.GroupLayout(jPanelMenuSala);
         jPanelMenuSala.setLayout(jPanelMenuSalaLayout);
         jPanelMenuSalaLayout.setHorizontalGroup(
             jPanelMenuSalaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGap(0, 0, Short.MAX_VALUE)
+            .addGap(0, 1168, Short.MAX_VALUE)
         );
         jPanelMenuSalaLayout.setVerticalGroup(
             jPanelMenuSalaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -61,25 +66,24 @@ public class Menu extends javax.swing.JFrame {
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jPanelMenuSala, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addGroup(layout.createSequentialGroup()
-                        .addComponent(jLabel1)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jComboBoxEventos, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jButtonVisualizar)
-                        .addGap(0, 316, Short.MAX_VALUE)))
+                .addComponent(jPanelMenuSala, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addContainerGap())
+            .addGroup(layout.createSequentialGroup()
+                .addGap(349, 349, 349)
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jComboBoxEventos, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jButtonVisualizar)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addContainerGap()
-                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                        .addComponent(jComboBoxEventos)
-                        .addComponent(jButtonVisualizar))
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jComboBoxEventos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(jButtonVisualizar)
                     .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jPanelMenuSala, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
@@ -88,7 +92,8 @@ public class Menu extends javax.swing.JFrame {
 
         pack();
     }// </editor-fold>//GEN-END:initComponents
-
+ 
+    
     // Variables declaration - do not modify//GEN-BEGIN:variables
     public javax.swing.JButton jButtonVisualizar;
     public javax.swing.JComboBox<String> jComboBoxEventos;
diff --git a/ProyectoVentaBoletos/src/main/java/view/MenuSala.form b/ProyectoVentaBoletos/src/main/java/view/MenuSala.form
index b3f088b..8af62da 100644
--- a/ProyectoVentaBoletos/src/main/java/view/MenuSala.form
+++ b/ProyectoVentaBoletos/src/main/java/view/MenuSala.form
@@ -39,11 +39,9 @@
   </Layout>
   <SubComponents>
     <Container class="javax.swing.JPanel" name="jPanelBotones">
-      <Properties>
-        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
-          <Color blue="ff" green="ff" red="ff" type="rgb"/>
-        </Property>
-      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
+      </AuxValues>
 
       <Layout>
         <DimensionLayout dim="0">
@@ -60,9 +58,6 @@
     </Container>
     <Container class="javax.swing.JPanel" name="jPanel2">
       <Properties>
-        <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
-          <Color blue="fd" green="fa" red="f8" type="rgb"/>
-        </Property>
         <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
           <Color blue="0" green="0" red="0" type="rgb"/>
         </Property>
@@ -71,19 +66,27 @@
       <Layout>
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
-              <Group type="102" alignment="0" attributes="0">
-                  <EmptySpace min="-2" pref="28" max="-2" attributes="0"/>
-                  <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace pref="585" max="32767" attributes="0"/>
+              <Group type="102" attributes="0">
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                      <Component id="jButtonSeleccionarAsientosVenta" alignment="0" max="32767" attributes="0"/>
+                      <Component id="jButtonRealizarVenta" alignment="0" max="32767" attributes="0"/>
+                  </Group>
+                  <EmptySpace pref="444" max="32767" attributes="0"/>
               </Group>
           </Group>
         </DimensionLayout>
         <DimensionLayout dim="1">
           <Group type="103" groupAlignment="0" attributes="0">
               <Group type="102" alignment="0" attributes="0">
-                  <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
                   <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
-                  <EmptySpace pref="64" max="32767" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="jButtonSeleccionarAsientosVenta" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="jButtonRealizarVenta" min="-2" max="-2" attributes="0"/>
+                  <EmptySpace pref="12" max="32767" attributes="0"/>
               </Group>
           </Group>
         </DimensionLayout>
@@ -91,9 +94,28 @@
       <SubComponents>
         <Component class="javax.swing.JLabel" name="jLabel1">
           <Properties>
-            <Property name="text" type="java.lang.String" value="jLabel1"/>
+            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+              <Connection code="&quot;Concierto: &quot; + nombre" type="code"/>
+            </Property>
           </Properties>
         </Component>
+        <Component class="javax.swing.JButton" name="jButtonSeleccionarAsientosVenta">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Seleccionar asientos para venta"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
+          </AuxValues>
+        </Component>
+        <Component class="javax.swing.JButton" name="jButtonRealizarVenta">
+          <Properties>
+            <Property name="text" type="java.lang.String" value="Realizar venta"/>
+            <Property name="enabled" type="boolean" value="false"/>
+          </Properties>
+          <AuxValues>
+            <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="1"/>
+          </AuxValues>
+        </Component>
       </SubComponents>
     </Container>
   </SubComponents>
diff --git a/ProyectoVentaBoletos/src/main/java/view/MenuSala.java b/ProyectoVentaBoletos/src/main/java/view/MenuSala.java
index 730e2d9..ce4e52d 100644
--- a/ProyectoVentaBoletos/src/main/java/view/MenuSala.java
+++ b/ProyectoVentaBoletos/src/main/java/view/MenuSala.java
@@ -1,42 +1,50 @@
-/*
- * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
- * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JPanel.java to edit this template
- */
 package view;
 
+import controller.MenuSalaController;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.util.ArrayList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
 import javax.swing.JToggleButton;
+import model.Boleto;
 
-/**
- *
- * @author vmonge
- */
 public class MenuSala extends javax.swing.JPanel {
-
-    /**
-     * Creates new form MenuSala
-     */
-    public MenuSala() {
+    
+    private int idEvento;
+    private String nombre;
+    
+    public MenuSala(int idEvento, String nombre) {
+        this.idEvento = idEvento;
+        this.nombre = nombre;
         initComponents();
-        asientos();
+        //asientos();
+        MenuSalaController menuSalaController = new MenuSalaController(this);
+        jButtonSeleccionarAsientosVenta.addActionListener(menuSalaController);
+        jButtonRealizarVenta.addActionListener(menuSalaController);
     }
     
-    private int filas = 5;
-    private int columnas = 5;
+    /*
+    private int filas = 6;
+    private int columnas = 7;
     private int largoBoton = 140;
     private int anchoBoton = 60;
     private int ejeX = 20;
     private int ejeY = 20;
     public JToggleButton jtBotones[][];
-    int numeroAsientos = 0;
+    private ArrayList<Boleto> boletosVendidos = new ArrayList<>();
+    int contadorNumeroAsientos = 0;
+    */
     
+    /*
     public void asientos(){
         jtBotones = new JToggleButton[filas][columnas];
         for(int i = 0; i < filas; i++){
             for(int j = 0; j < columnas; j++){
                 jtBotones[i][j] = new JToggleButton();
-                numeroAsientos++;
+                contadorNumeroAsientos++;
                 jtBotones[i][j].setBounds(ejeX, ejeY, largoBoton, anchoBoton);
-                jtBotones[i][j].setText("Asiento: " + numeroAsientos);
+                jtBotones[i][j].setText("Asiento: " + contadorNumeroAsientos);
                 jPanelBotones.add(jtBotones[i][j]);
                 ejeX += 160;
                 
@@ -48,12 +56,16 @@ public class MenuSala extends javax.swing.JPanel {
             ejeX = 20;
         }
     }
+    */
 
-    /**
-     * This method is called from within the constructor to initialize the form.
-     * WARNING: Do NOT modify this code. The content of this method is always
-     * regenerated by the Form Editor.
-     */
+    public int getIdEvento() {
+        return idEvento;
+    }
+    
+    public void mensaje(String mensaje){
+        JOptionPane.showMessageDialog(this, mensaje);
+    }
+    
     @SuppressWarnings("unchecked")
     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
     private void initComponents() {
@@ -61,8 +73,8 @@ public class MenuSala extends javax.swing.JPanel {
         jPanelBotones = new javax.swing.JPanel();
         jPanel2 = new javax.swing.JPanel();
         jLabel1 = new javax.swing.JLabel();
-
-        jPanelBotones.setBackground(new java.awt.Color(255, 255, 255));
+        jButtonSeleccionarAsientosVenta = new javax.swing.JButton();
+        jButtonRealizarVenta = new javax.swing.JButton();
 
         javax.swing.GroupLayout jPanelBotonesLayout = new javax.swing.GroupLayout(jPanelBotones);
         jPanelBotones.setLayout(jPanelBotonesLayout);
@@ -75,26 +87,37 @@ public class MenuSala extends javax.swing.JPanel {
             .addGap(0, 448, Short.MAX_VALUE)
         );
 
-        jPanel2.setBackground(new java.awt.Color(248, 250, 253));
         jPanel2.setForeground(new java.awt.Color(0, 0, 0));
 
-        jLabel1.setText("jLabel1");
+        jLabel1.setText("Concierto: " + nombre);
+
+        jButtonSeleccionarAsientosVenta.setText("Seleccionar asientos para venta");
+
+        jButtonRealizarVenta.setText("Realizar venta");
+        jButtonRealizarVenta.setEnabled(false);
 
         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
         jPanel2.setLayout(jPanel2Layout);
         jPanel2Layout.setHorizontalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel2Layout.createSequentialGroup()
-                .addGap(28, 28, 28)
-                .addComponent(jLabel1)
-                .addContainerGap(585, Short.MAX_VALUE))
+                .addContainerGap()
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(jLabel1)
+                    .addComponent(jButtonSeleccionarAsientosVenta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jButtonRealizarVenta, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(444, Short.MAX_VALUE))
         );
         jPanel2Layout.setVerticalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel2Layout.createSequentialGroup()
-                .addGap(20, 20, 20)
+                .addContainerGap()
                 .addComponent(jLabel1)
-                .addContainerGap(64, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jButtonSeleccionarAsientosVenta)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jButtonRealizarVenta)
+                .addContainerGap(12, Short.MAX_VALUE))
         );
 
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -120,8 +143,10 @@ public class MenuSala extends javax.swing.JPanel {
 
 
     // Variables declaration - do not modify//GEN-BEGIN:variables
+    public javax.swing.JButton jButtonRealizarVenta;
+    public javax.swing.JButton jButtonSeleccionarAsientosVenta;
     private javax.swing.JLabel jLabel1;
     private javax.swing.JPanel jPanel2;
-    private javax.swing.JPanel jPanelBotones;
+    public javax.swing.JPanel jPanelBotones;
     // End of variables declaration//GEN-END:variables
 }