メッセージボックスのサンプル
大変残念なことに、現行バージョンの JavaFX 2 にはメッセージボックス API が存在しません。
仕方がないので自分で作ることになります。ここに ものすごく単純なメッセージボックス API のサンプルを示します。モーダルダイアログボックスでメッセージを表示します。
☆現実的には、これにアイコンなどを追加したり、YES/NO/Cancel などのバリエーションを追加していくことになります。
☆JavaFX 2.2 以降でのみ動作します。∵dialog.showAndWait();
package sample; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.stage.Modality; import javafx.stage.Stage; import javafx.stage.Window; /** * すごく単純な JavaFX 2 によるメッセージボックスのサンプル。 */ public class MyMessageBox { public static void showMessageDialog(final Window parentWindow, final String message, final String title) { final Stage dialog = new Stage(); dialog.setTitle(title); dialog.setResizable(false); dialog.initModality(Modality.WINDOW_MODAL); if (parentWindow != null) { dialog.initOwner(parentWindow); } final StackPane pane = new StackPane(); dialog.setScene(new Scene(pane)); { final VBox vbox = new VBox(); pane.getChildren().add(vbox); vbox.setAlignment(Pos.CENTER); vbox.setMinWidth(300); vbox.getChildren().add(new Label(""));// 空行 vbox.getChildren().add(new Label(message)); vbox.getChildren().add(new Label(""));// 空行 final Button btnOk = new Button(); btnOk.setText("OK"); btnOk.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { dialog.close(); } }); vbox.getChildren().add(btnOk); vbox.getChildren().add(new Label(""));// 空行 } dialog.showAndWait(); } }