1

PopupWindowJavaFX 2.0またはJavaFX 2.0を使用してポップアップ ウィンドウを表示するにはどうすればよいPopupですか? チュートリアルやサンプルが見つかりません。

4

1 に答える 1

4
public class test extends Application{

    Stage primaryStage;

    @Override
    public void start(final Stage stage) throws Exception {

        primaryStage = stage;

        Button showPopUp = new Button("Pop Up");
        final TextField name = new TextField();

        VBox vBox = new VBox();
        vBox.getChildren().add(name);
        vBox.getChildren().add(showPopUp);


        final Label hello = new Label();
        final TextField name2 = new TextField();
        Button ok = new Button("ok");
        Button cencel = new Button("cancel");

        VBox popUpVBox = new VBox();
        popUpVBox.getChildren().add(hello);
        popUpVBox.getChildren().add(name2);
        popUpVBox.getChildren().add(ok);
        popUpVBox.getChildren().add(cencel);

        final Popup popup = new Popup();
        popup.setAutoFix(false);
        popup.setHideOnEscape(true);
        popup.getContent().addAll(popUpVBox);
        popup.setX(250);
        popup.setY(175);

        ok.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent t) {
                 name.setText(name2.getText());
            }
        });

        cencel.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent t) {
                popup.hide();
            }
        });


        showPopUp.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent t) {
                 if (popup.isShowing()) {
                    popup.hide();
                } else {
                     hello.setText("hello.."+name.getText());
                    popup.show(stage);
                }
            }
        });

        Scene scene = new Scene(vBox);

        primaryStage.setScene(scene);
        primaryStage.setWidth(200);
        primaryStage.setHeight(200);
        primaryStage.show();
    }

}
于 2012-11-06T10:14:28.307 に答える