プログラマメモ2 - programmer no memo2

PlatformにrunAndWaitみたいなのがなかったので - javaFX 2013/02/20

javaFXです。
まだまだ寒いですね。2月ももう20日。
桜の季節にはぼーんと咲かせてみたいところです。最近のjavaのアップデートにはいらいらさせられてます。
javaがセキュリティホールになるなんて悲しいです。

させ、PlatformにはrunLaterがあるのですが、終わらせてつぎにいくという感じの呼び出しがないので、困っていました。そういうときにはCountDownLatchを使えって感じですかね。

java.util.concurrent にあるこのクラスの説明は

ほかのスレッドで実行中の操作セットが完了するまで、1 つ以上のスレッドを待機可能にする同期化支援機能です。
というわけで使います。

きっとコードはこんな感じになるのでしょうか。

        final CountDownLatch localCountDownLatch = new CountDownLatch(1);
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                    localCountDownLatch.countDown();
            }
        });
       
        try {
            localCountDownLatch.await();
        } catch (InterruptedException localInterruptedException) {
            localInterruptedException.printStackTrace(System.err);
        }

もう動けばよし。

: