бегущий индикатор Java - PullRequest
       3

бегущий индикатор Java

3 голосов
/ 09 апреля 2011

Я хочу, чтобы некоторые символы ascii периодически менялись, чтобы показать, что моя CLI-программа работает, например - | \ / - | / .... Старый символ заменяется новым, который выглядит как анимация. Есть ли какая-нибудь библиотека, подходящая к этому?

Kejia

Ответы [ 4 ]

1 голос
/ 09 апреля 2011

Возможно, вы захотите использовать символ возврата каретки (CR) ('\ r' в Java) для этого.Я бы сделал это следующим образом (при условии, что вы делаете анимацию в начале строки):

Мое решение (Test.java):

public class Test
{
    public static void main(String[] args)
    {
        try
        {
            System.out.print("\\");
            Thread.sleep(1000);
            System.out.print("\r|");
            Thread.sleep(1000);
            System.out.print("\r/");
        }catch(Exception e)
        {
        }
    }
}
0 голосов
/ 09 апреля 2011

В Scala:

"-|\\/-|/".toCharArray ().foreach {c =>  print ("\b" + c); Thread.sleep (250); }

Аналог, но больше кода на Java, но не проверено:

for (c : "-|\\/-|/".toCharArray ()) 
{
    System.out.print ("\b" + c); 
    Thread.sleep (250); 
}
0 голосов
/ 09 апреля 2011

Я однажды написал тестовую программу, и часть ее работала как curl / wget для загрузки файла.Чтобы напечатать прогресс, я просто использовал System.err.print(n); System.err.print('\r');, который перемещает курсор в начало строки, готовой к следующему обновлению прогресса.Но в вашем случае вы могли бы напечатать каждый из "\\\b" "-\b" "/\b" (\b - возврат), чтобы получить эффект вращения.

0 голосов
/ 09 апреля 2011

Простейшая идея: попробуйте заменить все консоли (строки и столбцы) на новый вид (кадр) вашей анимации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...