Окно консоли Eclipse, которое учитывает вызовы позиции курсора, позволяя отображать индикатор выполнения - PullRequest
1 голос
/ 16 января 2012

Я использую код от этого веб-сайта (Нурулла Аккая):

public static void main(String[] args) {
    for (int i = 0; i < 100; i++) {
        try {
            Thread.sleep(100);
        }
        catch (Exception e) {
        }
        printProgBar(i);
    }
}

public static void printProgBar(int percent){
    StringBuilder bar = new StringBuilder("[");

    for(int i = 0; i < 50; i++){
        if( i < (percent/2)){
            bar.append("=");
        }else if( i == (percent/2)){
            bar.append(">");
        }else{
            bar.append(" ");
        }
    }

    bar.append("]   " + percent + "%     ");
    System.out.print("\r" + bar.toString());
}

По какой-либо причине эта строка выводится для строки примерно так:

[>                                                 ]   0%     
[=====>                                            ]   10%     
[==========>                                       ]   20%     
[===============>                                  ]   30%     
[====================>                             ]   40%     
[=========================>                        ]   50%     
[==============================>                   ]   60%     
[===================================>              ]   70%     
[========================================>         ]   80%     
[=============================================>    ]   90%    

Когда я действительно хочу обновить одну строку, как в обычном консольном окне.

Есть ли способ эмулировать это поведение, чтобы оно работало в окне Eclipse?

1 Ответ

2 голосов
/ 16 января 2012

Из источников представления консоли в Eclipse я вижу, что чистый "CR" не поддерживается в эмуляторе. Итак, ответ: нет, это невозможно.

...