Image Getter の致命的欠陥を Fix.

JavaFX

昨日のエントリーで紹介した Image Getter ですけど致命的欠陥がありました。

動画をご覧になったか、Java Web Start で動かしてみた人はすぐに気付いたでしょう。

画像取得の待ち時間アプリがフリーズしているような振る舞いをしてます。

学習用のお遊びアプリだからいいやって思っていたのですが気になってしかたなくなり、やっつけで直しました。

非同期処理の実装と画像取得待ちの間、メニューの About 以外のものを非活性化させました。

ついでにプログレスインジケーターも付けてみました。

これで動いてる安心感がでますね。

この非活性化の部分は力技で実装してしまいましたが、JDK6 あたりからだったかな?まとめて非活性化させる方法があったような記憶があります。

ちょっと思い出せないのが残念ですけど JavaFX でもまとめて非活性化させる方法があると便利なんですけどね。

実は ITpro で櫻庭さんが執筆されている「JavaFX2 で始める GUI 開発」を参考に学習してます。

その櫻庭さんが Twitter で来月は非同期処理について執筆されることを教えていただきました。

今回のお遊びサンプルアプリでは戻り値は無しでした。

JavaFX2.2 の API ドキュメントのサンプルでは数種類のパターンが説明されてましたが何しろ英語なので良く解りません。(>_<。)

来月の櫻庭さんの記事では GUI 開発で絶対に避けて通れない非同期処理を取り上げてくれるとのことで楽しみです!

でも、サンプルと同じようなイメージビューアを創るはずだったんですけど脱線してしまいこんなになって第4回からまだ読めてない。(ヲヒ

まぁ、楽しめているから良し!としよう。(^_^)

Fix した Image Getter の動画と Java Web Start を貼っておきますね~。

Webstart: click to launch this app as webstart (Java 8 実行環境必須)

Hatena タグ: