我是新手「編程的東西,試着學習」 我的「app」運行bat測試文件,所有結果都印在textarea上,效果很好 但我現在的目標是提供進度條,以顯示印刷到文本區域時的進度。 我該怎麼辦?我已閱讀了一些指南,並嘗試了一些東西,但它對我無效javafx,如何在打印到文本區域時顯示進度條
這是運行蝙蝠文件的按鈕背後的方法
public void RunTestScrip() throws IOException {
Process p = Runtime.getRuntime().exec(path);
final InputStream stream = p.getInputStream();
new Thread(new Runnable() {
public void run() {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(stream));
String line = null;
while ((line = reader.readLine()) != null) {
console.appendText("\n" + line);
progressBar.progressProperty().bind(RunTestScrip()); // dont know how to use it right in my code
}
} catch (Exception e) {
// TODO
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// ignore
}
}
}
}
}).start();
除非您知道總共要接收多少數據,否則您無法更新進度條(進度將設置爲什麼?)。你有權訪問這些信息嗎? –
如果你沒有數據,你可以顯示'ProgressIndicator'值爲'-1',直到工作完成,這樣用戶不會覺得無聊並打破鍵盤:)。 – GOXR3PLUS
請自己幫忙,瞭解試用資源。我確定你不再使用Java 6了,所以你應該能夠擺脫那些最後的塊,並且在一個步驟中聲明並初始化'reader'變量... – fabian