public void mostrar() {

        this.limpiarPantalla();
        int choosen = 0;
        int espaciado= 60;
        Scanner in = new Scanner(this.in);
        Cadena base = new Cadena();


        if (!this.getTitulo().equals("")) {
            int ancho_titulo = this.titulo.length();
            ancho_titulo = ancho_titulo < espaciado ? espaciado : ancho_titulo;
            System.out.println(base.repetir("-", ancho_titulo  ));
            System.out.println("-" + base.espaciar(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("*", espaciado));
            System.out.println(base.espaciar("Adios, que tengas buen dia", espaciado, true));
            System.out.println(base.repetir("*", espaciado));


            System.exit(1);
        } else if (choosen > lista.size() || choosen < 1) {


            System.out.println("");
            System.out.println(base.repetir("*", espaciado));
            System.out.println(base.espaciar("Opcion invalida, presione ENTER para regresar al menu", espaciado, true));
            System.out.println(base.repetir("*", espaciado));
            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("-", espaciado));
                System.out.println(base.espaciar(mi.getTexto(), espaciado, true));
                System.out.println(base.repetir("-", espaciado));

                System.out.println("");
            }
            mc.ejecutar();


            System.out.println("");

            System.out.println(base.repetir("*", espaciado));
            System.out.println(base.espaciar("Presione ENTER para regresar al menu", espaciado, true));
            System.out.println(base.repetir("*", espaciado));

            in.nextLine();
            in.nextLine();
            this.mostrar();
        }
    }