Tôi đang tạo một ứng dụng Java nhỏ sẽ có chỉ báo tiến trình với tỷ lệ phần trăm. Trong mỗi vòng lặp, nó sử dụng phím xóa lùi \b
để xóa tiến trình hiển thị trước khi hiển thị phần trăm tiếp theo.
Đây là một ví dụ đơn giản:
public static void main(String[] args) throws Exception {
System.out.print("Progress: ");
for (int percentage = 0; percentage < 100; percentage++) {
System.out.print(percentage + "%");
Thread.sleep(10); // Stub for "long running task".
int length = String.valueOf(percentage).length() + 1;
while (length-- > 0) {
System.out.print('\b');
}
}
System.out.println("finished!");
}
Điều này hoạt động hoàn hảo trong dấu nhắc lệnh, nhưng ký tự xóa lùi không được nhận dạng trong bảng điều khiển của Eclipse (Galileo build 20090920-1017). Thay vào đó, nó hiển thị một hình vuông trống biểu thị một ký tự không xác định. Xem ảnh chụp màn hình:
Làm cách nào để Eclipse "hiển thị" backspace đúng cách? Tức là để nó xóa ký tự trước đó.
Đây thực sự không phải là showstopper vì nó sẽ chỉ được chạy trong bảng điều khiển lệnh, nhưng sẽ rất tuyệt nếu nó hoạt động trong Eclipse :)