public void mostrar() {
this.limpiarPantalla();
int choosen = 0;
Scanner in = new Scanner(this.in);
Base base = new Base();
if (!this.getTitulo().equals("")) {
int ancho_titulo = this.titulo.length();
ancho_titulo = ancho_titulo < 60 ? 60 : ancho_titulo;
System.out.println(base.repetir("-", ancho_titulo ));
System.out.println("-" + base.redondear(this.titulo, ancho_titulo-2, true) + "-");
System.out.println(base.repetir("-", ancho_titulo ));
}
int i = 0;
for (i = 0; i < lista.size(); ++i) {
MenuItem mi = lista.get(i);
System.out.printf("[%d] %s \n", i + 1, mi.getTexto());
}
System.out.printf("[%d] %s \n", i + 1, "Salir");
System.out.println();
System.out.print("Selecciona una Opcion:");
try {
choosen = in.nextInt();
} catch (Exception e1) {
}
if (choosen == lista.size() + 1) {
System.out.println("");
System.out.println(base.repetir("*", 60));
System.out.println(base.redondear("Adios, que tengas buen dia...", 60, true));
System.out.println(base.repetir("*", 60));
System.exit(1);
} else if (choosen > lista.size() || choosen < 1) {
System.out.println("");
System.out.println(base.repetir("*", 60));
System.out.println(base.redondear("Opcion Invalida, Presione Enter Para ir al Menu...", 60, true));
System.out.println(base.repetir("*", 60));
in.nextLine();
in.nextLine();
this.mostrar();
} else {
MenuItem mi = lista.get(choosen - 1);
MenuCallback mc = mi.getMenuCallback();
this.limpiarPantalla();
if (!mi.isMenu() && !mi.getTexto().equals("Regresar")) {
System.out.println(base.repetir("-", 60));
System.out.println(base.redondear(mi.getTexto(), 60, true));
System.out.println(base.repetir("-", 60));
System.out.println("");
}
mc.ejecutar();
System.out.println("");
System.out.println(base.repetir("*", 60));
System.out.println(base.redondear("Presione ENTER para ir al menu...", 60, true));
System.out.println(base.repetir("*", 60));
in.nextLine();
in.nextLine();
this.mostrar();
}