メッセージボックスのサンプル

大変残念なことに、現行バージョンの 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();
	}
}