モーダルダイアログを表示する
昨日はJavaFXで背後のノードをブロックする機能を作ったので、それを応用してモーダルダイアログを実装してみました。いわゆるOKのみを表示する情報ダイアログ、YES/NOの質問型、OK/Cancelの確認型、好きなノードを表示できる汎用型の4種類です。
サンプルはこちらから確認できますが、セキュリティクリアランスに注意して閲覧してください。
コールバック関数
ダイアログはModalWindow.xxx 関数を使用して表示しますが、ブロッキングするタイプの関数ではありません。したがって確認メッセージを表示しますが、メインスレッドをブロックしません。ウィンドウを閉じたときに行われる処理についてはコールバック関数として関数に渡します。
ModalWindow.confirmMessage(box, "Confirm", "よろしいですか?", function(result:Boolean):Void { if (result) { // OK の場合の処理 } else { // NGの場合の処理 } });
この辺りの感覚はJavaScriptに近く、Javaよりも直感的な記述ができるので便利です。