import javax.swing.JOptionPane;
public class BibliotecaGUI {
   private Biblioteca laBiblioteca;
   public BibliotecaGUI(Biblioteca biblioteca) {
       laBiblioteca = biblioteca;
   }
   public void mensaje(String texto) {
     JOptionPane.showMessageDialog(null,texto);
   }
   public int preguntarIndice() {
       int indice=-1;
       boolean capturado=false,cancelado=false;
       do {
        String sNumero=  
         JOptionPane.showInputDialog(null,"Dame numero de libro");
        if (sNumero != null) 
          try {
            indice = Integer.parseInt(sNumero);
            capturado = true;
          } catch (NumberFormatException excepcion) {
            mensaje("El numero capturado no esta en formato correcto");
          }
        else cancelado=true;
       } while (!capturado && !cancelado);
       return indice;
   }
   public Libro buscar(int indice){return laBiblioteca.recuperar(indice);}
   public void imprimir(Libro elLibro) {
     String mensaje = "Libro:\nISBN:"+elLibro.isbn+
     "\nTitulo:"+elLibro.titulo+"\nAutor:"+elLibro.autor+
     "\nnumero de Paginas:"+elLibro.numeroPaginas+
      "\n¿Prestado?:"+(elLibro.isPrestado()?"En prestamo":"Disponible");
      mensaje(mensaje);
   }//imprimir
   public boolean confirmar(String mensaje) {
     int opcion= JOptionPane.showConfirmDialog(null,mensaje);
     return opcion== JOptionPane.YES_OPTION;
   }//confirmar
   public void prestar(Libro elLibro) {
       if (confirmar("¿Prestar al libro?")) elLibro.prestar();   
   }//prestar
   public void devolver(Libro elLibro) {
       if (confirmar("¿Devolver al libro?")) elLibro.devolver();
   }//devolver
   public boolean continuar() {
     return confirmar("¿Continuar trabajando con el sistema?");
   }//continuar
   public void sesion() {
        do {
           int indice = preguntarIndice();
           Libro unLibro = buscar(indice);
           if (unLibro!=null) {
              imprimir(unLibro);
              if (unLibro.isPrestado())
                devolver(unLibro);
              else prestar(unLibro); 
           } else mensaje("Libro no encontrado");
        } while (continuar());
   }//sesion

}














