private void jButtonConsultarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonConsultarActionPerformed
    // <editor-fold defaultstate="collapsed" desc="jButtonConsultarActionPerformed()">
    String busqueda;
    try {
      busqueda = jTFCodigo1.getText();
    } catch (NullPointerException e) {
      busqueda = "";
    }
    Object libros[][] = controladorLibro.consultarLibros(busqueda);
    TableModel myModel =
        new javax.swing.table.DefaultTableModel(
            libros, new String[] {"Identificacion", "Titulo", "Subtitulo"}) {

          boolean[] canEdit = new boolean[] {false, false, false};

          public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
          }
        };
    jTableResultados.setModel(myModel);
    jTableResultados.setRowSorter(new TableRowSorter(myModel));

    // Setting the colum width
    TableColumn column = null;
    for (int i = 0; i < 3; i++) {
      column = jTableResultados.getColumnModel().getColumn(i);
      if (i == 1 || i == 2) {
        column.setPreferredWidth(300);
      } else {
        column.setPreferredWidth(110);
      }
    }
    // </editor-fold>
  } // GEN-LAST:event_jButtonConsultarActionPerformed
  private void jButtonEditarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonEditarActionPerformed
    // <editor-fold defaultstate="collapsed" desc="jButtonEditarActionPerformed()">

    if (jTableResultados.getSelectedRow() >= 0) {
      limpiarCamposEdicion();
      String idLibro = jTableResultados.getValueAt(jTableResultados.getSelectedRow(), 0).toString();
      String libro[] = controladorLibro.seleccionarLibro(idLibro);
      String autores[] = controladorLibro.getAutores(idLibro);

      jTFId1.setText(libro[0]);
      jTFTitulo1.setText(libro[1]);
      jTFSubTitulo1.setText(libro[2]);

      for (int i = 0; i < autores.length; i++) {
        jTextAreaAutores1.append(autores[i]);
        jTextAreaAutores1.append("\n");
      }
      jTabbedPane1.setSelectedIndex(2);
    } else {
      JOptionPane.showMessageDialog(this, "No ha seleccionado ningun Libro para editar");
    }
    // </editor-fold>
  } // GEN-LAST:event_jButtonEditarActionPerformed
  private void jButtonActualizarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonActualizarActionPerformed

    String lectura = jTextAreaAutores1.getText();
    String autores[] = lectura.split("\n");

    try {
      controladorLibro.editarLibro(jTFTitulo1.getText(), jTFSubTitulo1.getText(), autores);

    } catch (PreexistingEntityException ex) {
      JOptionPane.showMessageDialog(this, ex.toString());
    } catch (Exception ex) {
      JOptionPane.showMessageDialog(this, ex.toString());
    }

    jTabbedPane1.setSelectedIndex(1);
    limpiarCamposConsulta();
    jTFCodigo1.setText(jTFId1.getText());
    jButtonConsultar.doClick();
    limpiarCamposEdicion();
  } // GEN-LAST:event_jButtonActualizarActionPerformed
  private void jButtonEliminarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonEliminarActionPerformed

    int[] selection = jTableResultados.getSelectedRows();
    if (selection.length > 0) {
      String[] idLibros = new String[selection.length];

      for (int i = 0; i < idLibros.length; i++) {
        idLibros[i] = jTableResultados.getValueAt(selection[i], 0).toString();
      }
      try {
        controladorLibro.eliminar(idLibros);
      } catch (NonexistentEntityException ex) {
        JOptionPane.showMessageDialog(this, ex.getMessage());
      }
      limpiarCamposConsulta();
      jButtonConsultar.doClick();
    } else {
      JOptionPane.showMessageDialog(this, "Ningun usuario seleccionado para eliminar");
    }
  } // GEN-LAST:event_jButtonEliminarActionPerformed
  private void jButtonRegistarActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonRegistarActionPerformed
    // <editor-fold defaultstate="collapsed" desc="jButtonRegistarActionPerformed()">

    if (!jTFId.getText().equals("")) {
      String lectura = jTextAreaAutores.getText();
      String autores[] = lectura.split("\n");

      try {
        controladorLibro.guardarLibro(
            jTFId.getText(), jTFTitulo.getText(), jTFSubTitulo.getText(), autores);
        JOptionPane.showMessageDialog(this, "Libro Registrado Exitosamente");
        limpiarCamposRegistro();
      } catch (PreexistingEntityException ex) {
        JOptionPane.showMessageDialog(this, ex.toString());
      } catch (Exception ex) {
        JOptionPane.showMessageDialog(this, ex.toString());
      }
    } else {
      JOptionPane.showMessageDialog(this, "No hay informacion suficiente para registrar");
    }

    // </editor-fold>
  } // GEN-LAST:event_jButtonRegistarActionPerformed