モーダルダイアログを表示する

昨日はJavaFXで背後のノードをブロックする機能を作ったので、それを応用してモーダルダイアログを実装してみました。いわゆるOKのみを表示する情報ダイアログ、YES/NOの質問型、OK/Cancelの確認型、好きなノードを表示できる汎用型の4種類です。

サンプルはこちらから確認できますが、セキュリティクリアランスに注意して閲覧してください。

コールバック関数

ダイアログはModalWindow.xxx 関数を使用して表示しますが、ブロッキングするタイプの関数ではありません。したがって確認メッセージを表示しますが、メインスレッドをブロックしません。ウィンドウを閉じたときに行われる処理についてはコールバック関数として関数に渡します。

ModalWindow.confirmMessage(box, "Confirm", "よろしいですか?", function(result:Boolean):Void {
    if (result) { // OK の場合の処理
    } else { // NGの場合の処理
    }
});

この辺りの感覚はJavaScriptに近く、Javaよりも直感的な記述ができるので便利です。