Foro de elhacker.net

Programación => Java => Mensaje iniciado por: deleted_account en 22 Abril 2018, 17:21 pm



Título: Limpiar consola
Publicado por: deleted_account en 22 Abril 2018, 17:21 pm
Hola a todos!

Me mandaron a realizar un trabajo con Java, en modalidad de consola. Y, el programa muestra demasiados datos por pantalla, generando ciertas confusiones al Usuario. Me gustaría saber si hay algún método para limpiar la consola.

Muchos me recomendaron generar líneas en blanco, pero no me convence demasiado. ¿Debería usar llamadas al SO? ¿Hay alguna librería?



Título: Re: Limpiar consola
Publicado por: rub'n en 22 Abril 2018, 22:12 pm
Hola a todos!

Me mandaron a realizar un trabajo con Java, en modalidad de consola. Y, el programa muestra demasiados datos por pantalla, generando ciertas confusiones al Usuario. Me gustaría saber si hay algún método para limpiar la consola.

Muchos me recomendaron generar líneas en blanco, pero no me convence demasiado. ¿Debería usar llamadas al SO? ¿Hay alguna librería?




Quizás te pueda servir, la magia esta en la linea 8 usamos una secuencia de escape pero en ASCII la H, implica mover a la parte de arriba de la pantalla o cmd y 2J, implica limpiar la pantalla entera.

Testeao en guidow 7, linux no tengo ahorita, ni siquiera estoy en mi pc  >:D



Código
  1. package com.foro.prueba;
  2.  
  3. import javax.swing.*;
  4. import java.util.stream.IntStream;
  5.  
  6. public class CleanConsole {
  7.  
  8.    private static final String COMANDO_ASCII = "\033[H\033[2J";
  9.  
  10.    public CleanConsole() {
  11.        IntStream.range(1,101)
  12.                .forEach( p -> System.out.println("blablablal"));
  13.  
  14.        final int option = JOptionPane.showConfirmDialog(null,"limpiar consola?","Información",0);
  15.        if(option != 1) {
  16.            quitar$hit();
  17.        }else {
  18.            new Thread(() -> {
  19.                try {
  20.                    System.out.println("Saliendo...");
  21.                    Thread.sleep(3000);
  22.                }catch (InterruptedException ex) {
  23.                }
  24.            }).start();
  25.        }
  26.    }
  27.  
  28.    public static void quitar$hit() {
  29.        System.out.print(COMANDO_ASCII);
  30.        System.out.flush();
  31.    }
  32.  
  33.        UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
  34.        new CleanConsole();
  35.    }
  36. }


Título: Re: Limpiar consola
Publicado por: deleted_account en 22 Abril 2018, 23:32 pm
Muchas gracias por responder! Pero no, no me funcionó...


Título: Re: Limpiar consola
Publicado por: rub'n en 23 Abril 2018, 00:16 am
Muchas gracias por responder! Pero no, no me funcionó...

Da mas detalle, error algún capture de pantalla al menos. xq en esta maquina funciona  :xD