回答編集履歴
2
typo2
answer
CHANGED
@@ -41,7 +41,7 @@
|
|
41
41
|
こちらもメインスレッドを止めるだけなので使えない。ScheduledExecutorService等を使う必要がある。
|
42
42
|
|
43
43
|
`for (int i = 3; i > 0; i--) { … }`
|
44
|
-
前述2つの指摘により、そもそもforループは使えないので、発想を
|
44
|
+
前述2つの指摘により、そもそもforループは使えないので、発想を変える必要がある。
|
45
45
|
`ScheduledExecutorService`は実行する処理クラスに`Runnable`を使えるので、これを`implements`した実行クラスを作ればいい。(まあ、匿名インナークラスでもいいけど)
|
46
46
|
|
47
47
|
### 3.2. ScheduledExecutorServiceを使う場合
|
1
typo
answer
CHANGED
@@ -7,7 +7,8 @@
|
|
7
7
|
[JavaFXにおけるスレッドの扱い - 軽Lab](http://krr.blog.shinobi.jp/javafx/javafx%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AE%E6%89%B1%E3%81%84)
|
8
8
|
|
9
9
|
メインスレッドを止めてしまう`Thread.sleep()`により、メインスレッドが止まっている事、それから画面更新は処理を抜けてアイドル状態を作らないと起こらないらしい事。
|
10
|
+
つまりこの仕様のせいで**ラベルのテキストが更新されていなかった**という事。
|
10
|
-
打開するには、空き時間にメインスレッドで遅延更新をする`Platform
|
11
|
+
打開するには、空き時間にメインスレッドで遅延更新をする`Platform#runLater()`を上手く使う事。
|
11
12
|
|
12
13
|
## 2. ポイント2. Threadの代わりにどうやってタイマー処理をするのか
|
13
14
|
[ScheduledExecutorService 使い方メモ](https://qiita.com/opengl-8080/items/ee8e926cf75e4d6058a2)
|