最終更新日:180112 原本2017-03-24 


4. JavaFXでインプットダイアログの結果をアラートで表示する

JavaFXでインプットダイアログの結果をアラートで表示する

Java を勉強してみるぞシリーズ第 4 段。ボタンクリック → インプットダイアログ表示 → 入力 → 入力した値をアラートに入れて表示、というのを目指します。


関連記事

  1. 初めてJavaを触った人間がEclipseでJavaFXのGUIアプリを起動するまで
  2. JavaFX Scene BuilderでのContainers(土台)部の違いについて
  3. JavaFXでウィンドウにボタンを配置してクリックでメッセージを出力する
  4. JavaFXでインプットダイアログの結果をアラートで表示する ←NOW!
  5. JavaFXでテキストフィールドに値を入れたり取得したり

順番に見てもらったほうがわかりやすいと思います。

書いたときの環境

  • JDK 8u121
  • Eclipse4.6 NEON
  • Scene Builder 8.3.0
  • Windows7/10

です。

前回までのあらすじ

ボタンを作ってアクションイベント作って動くようにして、FormController.java というファイルに

このように書いて、

実行してボタンをクリックすると、

Eclipse のコンソールに、コード内に書いた文字列が出力される、というところまでやりました。今回はコンソールじゃなくて、アラートやインプットダイアログを使って出力してみたいと思います。

アラートを表示

onButtonClick メソッドの中身をアラートを出力する記述にします。アラートを使うために、5, 6 行目のインポートの記述も必要です。

実行してボタンをクリックすると、

出ました。これは AlertType が INFORMATION の場合です。他のタイプにすると、以下のような見た目に。

CONFIRMATION

ERROR

WARNING

他にもいろんな形があるので、記事下の参考リンクをどうぞ。

任意のテキストにする

こうすると、

テキストがこのように。ちょっとヘッダーの存在感が大きすぎるような気もしたので、

setHeaderText を null にすると、

コンパクトになります。

OKボタンを検出する

上にも書いたように、AlertType を CONFIRMATION にすると、「OK」「取消」という 2 つのボタンが表示されます。ここで「OK」を押されたときのみ処理をしたい、ってことありますよね。

こう書いてみると、

こう表示されます。「OK」を押したときだけ、

コンソールにテキストが表示されます。

インプットダイアログに入力した値をアラートへ出力

最後に、インプットダイアログとアラートを組み合わせてみます。

実行してみると、

インプットダイアログが出て、テキストを入れて「OK」を押すと、

入力した値がアラートのテキストに入って、表示されます。

参考

ありがとうございました! 不適切な部分や間違ってるぞコノヤロウ的なところがありましたらご指摘ください。