1

我开发了一个小型 JavaFX 应用程序以部署在 Android 设备中。由于当前版本的 JavaFXPorts 尚不支持 Alert,因此我自己实现了对话框。我的问题是:我不知道如何实现 showAndWait 功能。有人可以知道这个想法吗?

这是代码:

private static int status;
public static int showConfirm(String message){
    status = 0;

    black = new StackPane();
    black.setStyle("-fx-background-color: black; -fx-opacity: 0.7;");
    black.setPrefSize(Main.WIDTH, Main.HEIGHT);

    Label label = new Label(message);
    label.setStyle("-fx-font-size: 22px;");
    label.setWrapText(true);

    Button okBtn = new Button("OK");
    okBtn.getStyleClass().add("terminal-button");
    okBtn.setPrefWidth(120);
    okBtn.setOnAction(new EventHandler<ActionEvent>(){
        @Override
        public void handle(ActionEvent event) {
            status = 1;
            Dialog.hide();
        }
    });

    Button cancelBtn = new Button("Cancel");
    cancelBtn.getStyleClass().add("terminal-button");
    cancelBtn.setPrefWidth(120);
    cancelBtn.setOnAction(new EventHandler<ActionEvent>(){
        @Override
        public void handle(ActionEvent event) {
            status = -1;
            Dialog.hide();
        }
    });

    HBox btnContainer = new HBox(10);
    btnContainer.setAlignment(Pos.CENTER_RIGHT);
    btnContainer.getChildren().addAll(okBtn,cancelBtn);

    VBox root = new VBox(30);
    root.setStyle("-fx-background-color: white;");
    root.setPadding(new Insets(20));
    root.setPrefWidth(Main.WIDTH - 200);
    root.getChildren().addAll(label,btnContainer);

    Group container = new Group();
    container.getChildren().add(root);

    Main.PAGE.getChildren().add(black);
    Main.PAGE.getChildren().add(container);

    return status;
}
4

0 回答 0