По умолчанию, если выводится много текста, терминал прокручивается до самой последней строки, а затем пользователю приходится прокручивать до конца, чтобы читать сверху. Мне нужен Java-подобный способ реализации прокрутки, предлагаемой в программе Unix "less". Я хотел бы выводить много текста, и пользователь мог бы начать сверху и прокручивать вниз в своем темпе.
Прокрутка терминала, менее похожая на Unix, в Java
Ответы (1)
Это не реализация Less, но вот идея:
- Разделите вывод на несколько частей: очень длинная строка => массив коротких строк (~ 10-15 строк);
- Сделайте цикл, ожидая ввода пользователя, чтобы отобразить следующую итерацию
String s = "blahhh foo.... I'm a very long string, with long lines and a lot of linebreaks..."; String[] looping = s.split("\n"); // whatever delimiter you need for(int i = 0 ; i < looping.length ; i++) { // print System.out.print(looping[i]); // wait for user input Scanner scanner = new Scanner(System.in); String a = scanner.nextLine(); // assigne a key to stop the loop before the end if(a.equalsIgnoreCase("X") // X, or whatever you want break; }
person
mw4rf
schedule
03.08.2011
more
, намного проще. - person Fred Foo   schedule 05.06.2011