public UReservacion(String i, String n, String a, String c) {
    this.Identificacion = i;
    this.Nombre = n;
    this.Apellido = a;
    this.Correo = c;
    setTitle("Sistema de Registro");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    esquema = new BorderLayout();
    panelnorte = new JPanel();
    panelcentro = new JPanel(new BorderLayout());
    panelBusqueda = new JPanel(new FlowLayout());
    panelsur = new JPanel();

    dtmesa = mesa.listarMesa("");
    String[] columNames = {"Numero", "Capacidad", "Fumador", "Estado"};
    dtmMesa = new DefaultTableModel(dtmesa, columNames);
    jtbMesa = new JTable(dtmMesa);
    jtbMesa.setEnabled(false);
    jtbMesa.setPreferredScrollableViewportSize(new Dimension(700, 120));
    jtbMesa.setAutoCreateRowSorter(true);
    spMesa = new JScrollPane(jtbMesa);
    lbltitulo = new JLabel("Mesas disponibles");
    lbltitulo.setFont(new Font("Verdana", Font.BOLD, 14));

    lblnomproducto = new JLabel("Ingrese numero de mesa:");
    txtNumMesa = new JTextField(5);
    btnRegistrar = new JButton("Registrar");

    panelBusqueda.add(lblnomproducto);
    panelBusqueda.add(txtNumMesa);

    lblAcompaantes = new JLabel("Personas:");
    panelBusqueda.add(lblAcompaantes);

    textCompa = new JTextField();
    panelBusqueda.add(textCompa);
    textCompa.setColumns(5);

    lblNewLabel_1 = new JLabel("Fecha");
    panelBusqueda.add(lblNewLabel_1);

    txtAaaammdd = new JTextField();
    txtAaaammdd.setText("AAAA-MM-DD");
    txtAaaammdd.setToolTipText("");
    panelBusqueda.add(txtAaaammdd);
    txtAaaammdd.setColumns(10);

    lblHora = new JLabel("Hora");
    panelBusqueda.add(lblHora);

    txtHhmmss = new JTextField();
    txtHhmmss.setText("HH-MM-SS");
    panelBusqueda.add(txtHhmmss);
    txtHhmmss.setColumns(10);

    lblNewLabel = new JLabel("¿Vista al mar?");
    panelBusqueda.add(lblNewLabel);

    checkBox = new JCheckBox("");
    checkBox.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            checkBox.setEnabled(false);
          }
        });
    panelBusqueda.add(checkBox);
    panelBusqueda.add(btnRegistrar);

    getContentPane().setLayout(esquema);

    panelnorte.add(lbltitulo);
    panelcentro.add(panelBusqueda, BorderLayout.NORTH);
    panelcentro.add(spMesa, BorderLayout.CENTER);

    getContentPane().add(panelnorte, BorderLayout.NORTH);
    getContentPane().add(panelcentro, BorderLayout.CENTER);
    getContentPane().add(panelsur, BorderLayout.SOUTH);

    this.pack();
    setResizable(false);
    setLocationRelativeTo(this.getParent());
    setVisible(true);
    mostrarProductos("Libre");
  }
  private void mostrarProductos(String criterio) {
    dtmesa = mesa.listarMesa(criterio);
    int contRows = dtmMesa.getRowCount();
    for (int i = 0; i < contRows; i++) {
      dtmMesa.removeRow(0);
    }
    for (int i = 0; i < dtmesa.length; i++) {
      Object[] nuevaFila = {dtmesa[i][0], dtmesa[i][1], dtmesa[i][2], dtmesa[i][3]};
      dtmMesa.addRow(nuevaFila);
    }

    btnRegistrar.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            String mesaelegida = txtNumMesa.getText();
            int mesaeint = Integer.parseInt(mesaelegida);

            String compaelegidos = textCompa.getText();
            int compaint = Integer.parseInt(compaelegidos);

            String mesatemp = dtmesa[mesaeint - 1][0].toString();
            String compatemp = dtmesa[mesaeint - 1][1].toString();
            String fumador = dtmesa[mesaeint - 1][2].toString();
            String estado = dtmesa[mesaeint - 1][3].toString();

            int compateint = Integer.parseInt(compatemp);

            if (mesatemp.equals(mesaelegida) && compaint <= compateint && estado.equals("Libre")) {
              if (checkBox.isEnabled() == false) {
                VistaMar = "Si";
              } else {
                VistaMar = "No";
              }
              String diapedido = txtAaaammdd.getText();
              String horapedido = txtHhmmss.getText();

              Calendar calendar = Calendar.getInstance();
              java.util.Date now = calendar.getTime();
              java.sql.Date fechaactual = new java.sql.Date(calendar.getTime().getTime());
              java.sql.Time tiempoactual = new java.sql.Time(now.getTime());

              registro.Reservacion(
                  mesaeint, diapedido, horapedido, Identificacion, fumador, VistaMar);
              JOptionPane.showMessageDialog(
                  null,
                  "Su reservacion ha sido registrada con exito"
                      + "\nSu reserva REV"
                      + "XXX"
                      + "\nFecha actual: "
                      + fechaactual
                      + "\nHora actual: "
                      + tiempoactual
                      + "\nFecha de la reserva: "
                      + diapedido
                      + "\nHora de la reserva: "
                      + horapedido
                      + "\nMesa reservada: "
                      + mesaeint
                      + "\nPara fumadores: "
                      + fumador
                      + "\nCon vista al mar: "
                      + VistaMar
                      + "\nA nombre de: "
                      + Nombre
                      + Apellido
                      + "\nCon Identificacion#: "
                      + Identificacion,
                  "Comprobante de reserva",
                  JOptionPane.INFORMATION_MESSAGE);
              Orden accion = new Orden(true, Nombre, Apellido, Correo, Identificacion);
              accion.setVisible(true);
              dispose();
            } else {
              JOptionPane.showMessageDialog(
                  null,
                  "Error en la reserva, intentelo de nuevo",
                  "Acerca de",
                  JOptionPane.ERROR_MESSAGE);
            }
          }
        });
  }