diff --git a/ProyectoConciertoApp/src/Vista/BotonConImagen.java b/ProyectoConciertoApp/src/Vista/BotonConImagen.java
index 48c6618..3c0c823 100644
--- a/ProyectoConciertoApp/src/Vista/BotonConImagen.java
+++ b/ProyectoConciertoApp/src/Vista/BotonConImagen.java
@@ -8,10 +8,11 @@ import java.awt.event.ActionListener;
class BotonConImagen extends JButton {
int cambio = 0;
int precio = 150;
- private int id; // Campo id privado
+ private String id; // Campo id privado
private boolean isAmarillo = false; // Estado para indicar si está utilizando el color amarillo
+
- public BotonConImagen(int id) {
+ public BotonConImagen(String id) {
this.id = id;
ImageIcon icono = new ImageIcon("C:/Users/mario/OneDrive/Documentos/NetBeansProjects/Imagene/src/asdasdasdasd.png");
setIcon(icono); // Establece la imagen en el botón
@@ -30,23 +31,25 @@ class BotonConImagen extends JButton {
setPreferredSize(new Dimension(icono.getIconWidth(), icono.getIconHeight())); // Establece el tamaño del botón según el tamaño de la imagen
cambio = 1;
isAmarillo = true;
+ System.out.println("Selecciono "+id);
} else {
ImageIcon icono = new ImageIcon("C:/Users/mario/OneDrive/Documentos/NetBeansProjects/Imagene/src/asdasdasdasd.png");
setIcon(icono); // Establece la imagen en el botón
setPreferredSize(new Dimension(icono.getIconWidth(), icono.getIconHeight())); // Establece el tamaño del botón según el tamaño de la imagen
cambio = 0;
isAmarillo = false;
+ System.out.println("Deselecciono"+id);
}
}
});
}
// Métodos getter y setter para el campo id
- public int getId() {
+ public String getId() {
return id;
}
- public void setId(int id) {
+ public void setId(String id) {
this.id = id;
}
diff --git a/ProyectoConciertoApp/src/Vista/VentanaConciertos.form b/ProyectoConciertoApp/src/Vista/VentanaConciertos.form
index 1df5c0c..2939ed0 100644
--- a/ProyectoConciertoApp/src/Vista/VentanaConciertos.form
+++ b/ProyectoConciertoApp/src/Vista/VentanaConciertos.form
@@ -126,6 +126,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1595,8 +1608,8 @@
-
+
@@ -1618,8 +1631,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1641,33 +1674,15 @@
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
diff --git a/ProyectoConciertoApp/src/Vista/VentanaConciertos.java b/ProyectoConciertoApp/src/Vista/VentanaConciertos.java
index 41f56f9..d05d0bc 100644
--- a/ProyectoConciertoApp/src/Vista/VentanaConciertos.java
+++ b/ProyectoConciertoApp/src/Vista/VentanaConciertos.java
@@ -101,6 +101,7 @@ public class VentanaConciertos extends javax.swing.JFrame {
banda = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
fondoportada = new javax.swing.JLabel();
+ jButton1 = new javax.swing.JButton();
panelSeleccion = new javax.swing.JPanel();
panelMapaAsientos = new javax.swing.JPanel();
panelMapaSala = new javax.swing.JPanel();
@@ -161,9 +162,9 @@ public class VentanaConciertos extends javax.swing.JFrame {
LabelNums = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
+ asientosSelecc = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
- jButton1 = new javax.swing.JButton();
panelFilas = new javax.swing.JPanel();
LabelA = new javax.swing.JLabel();
LabelB = new javax.swing.JLabel();
@@ -190,6 +191,14 @@ public class VentanaConciertos extends javax.swing.JFrame {
barraSuperior.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 70, 300, 30));
barraSuperior.add(fondoportada, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1260, 130));
+ jButton1.setText("volver");
+ jButton1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButton1ActionPerformed(evt);
+ }
+ });
+ barraSuperior.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(1032, 30, 130, 60));
+
panelSeleccion.setBackground(new java.awt.Color(255, 255, 255));
panelMapaAsientos.setBackground(new java.awt.Color(255, 255, 255));
@@ -1252,6 +1261,21 @@ public class VentanaConciertos extends javax.swing.JFrame {
jPanel1.setBackground(new java.awt.Color(204, 204, 204));
+ jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+
+ javax.swing.GroupLayout asientosSeleccLayout = new javax.swing.GroupLayout(asientosSelecc);
+ asientosSelecc.setLayout(asientosSeleccLayout);
+ asientosSeleccLayout.setHorizontalGroup(
+ asientosSeleccLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 321, Short.MAX_VALUE)
+ );
+ asientosSeleccLayout.setVerticalGroup(
+ asientosSeleccLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 551, Short.MAX_VALUE)
+ );
+
+ jScrollPane1.setViewportView(asientosSelecc);
+
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
@@ -1263,28 +1287,15 @@ public class VentanaConciertos extends javax.swing.JFrame {
.addGap(0, 0, Short.MAX_VALUE)
);
- jButton1.setText("volver");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
-
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
- .addContainerGap(136, Short.MAX_VALUE)
- .addComponent(jButton1)
- .addGap(115, 115, 115))
+ .addGap(0, 0, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel5Layout.createSequentialGroup()
- .addGap(21, 21, 21)
- .addComponent(jButton1)
- .addContainerGap(31, Short.MAX_VALUE))
+ .addGap(0, 75, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
@@ -1295,8 +1306,8 @@ public class VentanaConciertos extends javax.swing.JFrame {
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jScrollPane1)
- .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jScrollPane1))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
@@ -2127,6 +2138,7 @@ public class VentanaConciertos extends javax.swing.JFrame {
private javax.swing.JLabel LabelF;
private javax.swing.JLabel LabelNums;
private javax.swing.JPanel Principal;
+ private javax.swing.JPanel asientosSelecc;
private javax.swing.JLabel banda;
private javax.swing.JPanel barraSuperior;
private javax.swing.JLabel fondoportada;
diff --git a/ProyectoConciertoApp/src/Vista/panelAsientos.java b/ProyectoConciertoApp/src/Vista/panelAsientos.java
index bcc2f40..0b3994b 100644
--- a/ProyectoConciertoApp/src/Vista/panelAsientos.java
+++ b/ProyectoConciertoApp/src/Vista/panelAsientos.java
@@ -21,52 +21,58 @@ public class panelAsientos extends JPanel {
int Incremental = 1;
private JLabel precioLabel;
-
public panelAsientos(String zona, String artista) {
setPreferredSize(new Dimension(737, 737));
- setLayout(null); // Ajusta el diseño a null para posicionar los componentes manualmente
+ setLayout(new BorderLayout()); // Establecer un BorderLayout
setBackground(Color.white);
-
+
+ JPanel panelCentral = new JPanel(); // Crear un nuevo panel para el contenido central
+ panelCentral.setLayout(null); // Ajusta el diseño a null para posicionar los componentes manualmente
+ panelCentral.setBackground(Color.white);
+
String nombreTabla = artista + zona;
ImageIcon imageIcon = new ImageIcon("C:/Users/mario/OneDrive/Documentos/NetBeansProjects/Imagene/src/asdasdasdasd.png"); // Cambiar la ruta de la imagen
JLabel imagenLabel = new JLabel(imageIcon);
imagenLabel.setBounds(130, 10, imageIcon.getIconWidth(), imageIcon.getIconHeight());
- add(imagenLabel);
+ panelCentral.add(imagenLabel);
JLabel asientoDisponibleDialogo = new JLabel("Asiento disponible");
asientoDisponibleDialogo.setBounds(210, 5, 130, 50);
- add(asientoDisponibleDialogo);
+ panelCentral.add(asientoDisponibleDialogo);
ImageIcon imageIcon2 = new ImageIcon("C:/Users/mario/OneDrive/Documentos/NetBeansProjects/Imagene/src/asiento seleccion.png"); // Cambiar la ruta de la imagen
JLabel imagenLabel2 = new JLabel(imageIcon2);
imagenLabel2.setBounds(330, 10, imageIcon.getIconWidth(), imageIcon.getIconHeight());
- add(imagenLabel2);
+ panelCentral.add(imagenLabel2);
JLabel asientoSeleccionadoDialogo = new JLabel("Asiento seleccionado");
asientoSeleccionadoDialogo.setBounds(410, 5, 130, 50);
- add(asientoSeleccionadoDialogo);
+ panelCentral.add(asientoSeleccionadoDialogo);
ImageIcon imageIcon3 = new ImageIcon("C:/Users/mario/OneDrive/Documentos/NetBeansProjects/Imagene/src/asiento noDisponible.png"); // Cambiar la ruta de la imagen
JLabel imagenLabel3 = new JLabel(imageIcon3);
imagenLabel3.setBounds(545, 10, imageIcon.getIconWidth(), imageIcon.getIconHeight());
- add(imagenLabel3);
+ panelCentral.add(imagenLabel3);
JLabel asientoNoDisponibleoDialogo = new JLabel("No Disponible");
asientoNoDisponibleoDialogo.setBounds(630, 5, 130, 50);
- add(asientoNoDisponibleoDialogo);
+ panelCentral.add(asientoNoDisponibleoDialogo);
JLabel sala = new JLabel("" );
sala.setBounds(210, 5, 130, 50);
- add(sala);
+ panelCentral.add(sala);
precioLabel = new JLabel("Precio total: $0");
precioLabel.setBounds(0, 70, 100, 30);
- add(precioLabel);
+ panelCentral.add(precioLabel);
- int botonesACrear = 7;
int posX = 30;
int posY = 150;
+ int filas = 6;
+ int columnas = 7;
+ char[] letrasFilas = {'A', 'B', 'C', 'D', 'E', 'F'};
+
try {
Connection connection = conexion.getInstance();
@@ -79,7 +85,7 @@ public class panelAsientos extends JPanel {
if (!resultSet.next()) {
// Si la tabla no existe, crearla
PreparedStatement createStatement = connection.prepareStatement(
- "CREATE TABLE " + nombreTabla + " (id INT, estado VARCHAR(255))"
+ "CREATE TABLE " + nombreTabla + " (id VARCHAR(255), estado VARCHAR(255))"
);
createStatement.executeUpdate();
createStatement.close();
@@ -89,9 +95,6 @@ public class panelAsientos extends JPanel {
System.out.println("Error al interactuar con la base de datos: " + ex.getMessage());
}
-
-
-
try {
Connection connection = conexion.getInstance();
PreparedStatement checkStatement = connection.prepareStatement("SELECT COUNT(*) as count FROM "+nombreTabla);
@@ -107,12 +110,12 @@ public class panelAsientos extends JPanel {
ResultSet rs = selectStatement.executeQuery();
int contador = 0; // Contador para llevar el seguimiento de los botones creados
while (rs.next()) {
- int id = rs.getInt("id");
+ String id = rs.getString("id");
String estado = rs.getString("estado");
BotonConImagen boton = new BotonConImagen(id);
boton.setBounds(posX, posY, 70, 70);
- add(boton);
+ panelCentral.add(boton);
// Establecer el estado del botón según los datos recuperados de la base de datos
if (estado.equals("disponible")) {
@@ -134,15 +137,18 @@ public class panelAsientos extends JPanel {
selectStatement.close();
} else {
// Si no hay datos en la tabla, crear asientos nuevos
- for (int fila = 0; fila < 6; fila++) {
- for (int i = 0; i < botonesACrear; i++) {
- DesignarId = Incremental++;
- BotonConImagen boton = new BotonConImagen(DesignarId);
+ for (int fila = 0; fila < filas; fila++) {
+ for (int columna = 0; columna < columnas; columna++) {
+ char letraFila = letrasFilas[fila];
+ int numeroColumna = columna + 1;
+ String idAsiento = String.valueOf(letraFila) + numeroColumna;
+
+ BotonConImagen boton = new BotonConImagen(idAsiento);
boton.setBounds(posX, posY, 70, 70);
- add(boton);
+ panelCentral.add(boton);
PreparedStatement insertStatement = connection.prepareStatement("INSERT INTO "+nombreTabla+" (id, estado) VALUES (?, ?)");
- insertStatement.setInt(1, DesignarId);
+ insertStatement.setString(1, idAsiento);
insertStatement.setString(2, "disponible");
insertStatement.executeUpdate();
insertStatement.close();
@@ -157,9 +163,6 @@ public class panelAsientos extends JPanel {
System.out.println("Error al interactuar con la base de datos: " + ex.getMessage());
}
-
-
-
JButton boton2 = new JButton("Comprar");
boton2.setBounds(10, 10, 100, 30);
boton2.addActionListener(new ActionListener() {
@@ -167,7 +170,7 @@ public class panelAsientos extends JPanel {
public void actionPerformed(ActionEvent e) {
int precioTotal = 0;
Connection con = conexion.getInstance();
- for (Component component : getComponents()) {
+ for (Component component : panelCentral.getComponents()) {
if (component instanceof BotonConImagen) {
BotonConImagen boton = (BotonConImagen) component;
if (boton.isAmarillo()) {
@@ -177,11 +180,11 @@ public class panelAsientos extends JPanel {
Connection connection = conexion.getInstance();
PreparedStatement statement = connection.prepareStatement("UPDATE "+nombreTabla+" SET estado = ? WHERE id = ?");
statement.setString(1, "ocupado");
- statement.setInt(2, boton.getId());
+ statement.setString(2, boton.getId());
statement.executeUpdate();
statement.close();
- System.out.println("Comprando el asiento seleccionado con el numero " + boton.getId());
+ System.out.println("Comprando el asiento seleccionado con el número " + boton.getId());
boton.Ocupado();
@@ -195,6 +198,20 @@ public class panelAsientos extends JPanel {
precioLabel.setText("Precio total: $" + precioTotal);
}
});
- add(boton2);
+ panelCentral.add(boton2);
+
+ // Agregar panelCentral al centro de panelAsientos
+ add(panelCentral, BorderLayout.CENTER);
+
+
+ // Crear panelSeleccionA y establecer su color
+ JPanel panelSeleccionA = new JPanel();
+ panelSeleccionA.setBackground(Color.RED);
+
+ // Agregar panelSeleccionA al este de panelAsientos
+ add(panelSeleccionA, BorderLayout.EAST);
+
+
+
}
-}
+}
\ No newline at end of file