2011-01-19 41 views
6

Làm cách nào để tôi cập nhật java cửa sổ bảng điều khiển hiện tại thay vì chuyển sang dòng mới (hoặc thêm nội dung mới vào cũ).cập nhật cửa sổ bảng điều khiển với java

Ví dụ: nếu tôi muốn chứng minh tiến trình, tôi sẽ xuất progress n trong đó n sẽ là phần trăm đã cho.

Rõ ràng những gì tôi muốn làm chỉ đơn giản là cập nhật n với tỷ lệ phần trăm hiện tại. Bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

6

Một cái gì đó như thế này?

public class Test { 
    public static void main(String[] args) throws InterruptedException { 
     for (int i = 0; i < 100; i++) { 
      System.out.print("\rThinking... " + i); 
      System.out.flush(); 
      Thread.sleep(100); 
     } 
    } 
} 

Nó không được bảo đảm để làm việc trên tất cả các console tất nhiên (một số IDE có thể gặp khó khăn), nhưng bất kỳ mà vâng lời "vận chuyển trở lại" (các "\r") sẽ không sao.

+0

Dường như không hoạt động, tôi chỉ nhận được các dòng mới với mỗi phần trăm mới trên chúng (cả trong ide và dấu nhắc lệnh/powershell) – richzilla

+1

Có, nó không hoạt động trong NetBeans. Nhưng trong giao diện điều khiển tiêu chuẩn, nó hoạt động rất tốt. – Rogach

+2

Lời xin lỗi của tôi, nó hoạt động rực rỡ nếu bạn sử dụng 'in' thay vì buộc dòng mới với' println' ... tôi thực sự nên học đọc những điều đúng. – richzilla

Các vấn đề liên quan