3

私は現在、そのようなラベルにバインドされている値のプロパティを持っています

IntegerProperty value = new SimpleIntegerProperty(10);

// And then in the Constructor
label.textProperty().bindBidirectional(value, new NumberStringConverter());

また、値プロパティは、ユーザーがボタンを押した後に 10,000 回呼び出される関数で更新されます。

value.setValue(value.get() + 1);

ただし、ユーザーがボタンを押すと、プログラムは「フリーズ」し、すべての計算が終了すると、ラベルに 10,000 が表示されます。計算を行う際に、ラベルに値「1」、「2」、「10,000」を表示したいと思います。

4

1 に答える 1

4

「JavaFX アプリケーション スレッドで実行時間の長いタスクを実装すると、必然的にアプリケーション UI が応答しなくなります。ベスト プラクティスは、これらのタスクを 1 つ以上のバックグラウンド スレッドで実行し、JavaFX アプリケーション スレッドにユーザー イベントを処理させることです。」

この文は、Oracle ドキュメントからの抜粋です: http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

プログレスバーにも同じ問題があり、これらの推奨事項に従って解決しました。

于 2013-10-16T08:29:01.023 に答える