Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaFX:是否可以在警报对话框中放置GridPane?_Javafx_Dialog_Alert_Gridpane - Fatal编程技术网

使用JavaFX:是否可以在警报对话框中放置GridPane?

使用JavaFX:是否可以在警报对话框中放置GridPane?,javafx,dialog,alert,gridpane,Javafx,Dialog,Alert,Gridpane,我有一个用文本填充的警报框,出于格式化的原因,我想知道是否可以在这个警报框中放置一个网格窗格,以便所有文本都正确地隔开 如果无法使用GridPane执行此操作,是否可以使用其他方式格式化文本?是的,您可以使用对话框 alert.getDialogPane().setContent(grid); 这是一个针对格式为网格内容的冻结橙色合同的买卖警报 import javafx.application.Application; import javafx.geometry.HPos; import

我有一个用文本填充的警报框,出于格式化的原因,我想知道是否可以在这个警报框中放置一个网格窗格,以便所有文本都正确地隔开

如果无法使用GridPane执行此操作,是否可以使用其他方式格式化文本?

是的,您可以使用对话框

alert.getDialogPane().setContent(grid);
这是一个针对格式为网格内容的冻结橙色合同的买卖警报

import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Modality;
import javafx.stage.Stage;

public class GridAlert extends Application {
    @Override
    public void start(Stage stage) {
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setHeaderText("Frozen Orange Juice Contracts");

        GridPane grid = new GridPane();
        grid.addRow(0, new Label("Sell"), new Label("142"));
        grid.addRow(1, new Label("Buy"), new Label("29"));
        grid.setHgap(30);
        ColumnConstraints right = new ColumnConstraints();
        right.setHalignment(HPos.RIGHT);
        grid.getColumnConstraints().setAll(new ColumnConstraints(), right);

        alert.getDialogPane().setContent(grid);

        Button showAlert = new Button("Show Alert");
        showAlert.setOnAction(event -> alert.showAndWait());

        HBox layout = new HBox(10);
        layout.getChildren().addAll(
                showAlert
        );
        layout.setPadding(new Insets(10));
        stage.setScene(new Scene(layout));
        stage.show();

        alert.initOwner(stage);
        alert.initModality(Modality.WINDOW_MODAL);
    }

    public static void main(String[] args) {
        launch();
    }
}