私は "プログラミングのことで、新しいことを学ぶことを試みます。 私の" app "はバットテストファイルを実行し、テキストエリアに印刷されたすべての結果はうまくいきます。 私はいくつかのガイドを読んだことがありますし、何かを試してみましたが、それは私のために働いていません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();
受信するデータの量が分からない限り、進捗バーを更新する方法はありません(進捗状況はどのように設定されますか?)。あなたはその情報にアクセスできますか? –
もしあなたがデータを持っていなければ、作業が完了するまで値 '-1'を持つ' ProgressIndicator'を表示することができます。 – GOXR3PLUS
自分の好意を持って試してみてください。私はあなたがもうJava 6を使用していないと確信しているので、それらのfinallyブロックを取り除き、単一のステップで 'reader'変数を宣言して初期化することができます。 – fabian