javafx弹窗显示错误堆栈

    public static void createAlertDialog(final String content, final Exception errorMsg) {
        Alert alert = new Alert(AlertType.ERROR);
        alert.setHeight(250);
        alert.setHeaderText(null);
        alert.setContentText(content);

        // Create expandable Exception.
        GridPane expContent = createExpandablePane(errorMsg);

        // Set expandable Exception into the dialog pane.
        alert.getDialogPane().setExpandableContent(expContent);
        alert.showAndWait();
    }
View Code
    private static GridPane createExpandablePane(final Exception errorMsg){
        StringWriter sWriter = new StringWriter();
        PrintWriter pWriter = new PrintWriter(sWriter);
        errorMsg.printStackTrace(pWriter);
        String exceptionText = sWriter.toString();

        Label label = new Label("The exception stacktrace was:");

        TextArea textArea = new TextArea(exceptionText);
        textArea.setEditable(false);
        textArea.setWrapText(true);

        textArea.setMaxWidth(Double.MAX_VALUE);
        textArea.setMaxHeight(Double.MAX_VALUE);
        GridPane.setVgrow(textArea, Priority.ALWAYS);
        GridPane.setHgrow(textArea, Priority.ALWAYS);

        GridPane expContent = new GridPane();
        expContent.setMaxWidth(Double.MAX_VALUE);
        expContent.add(label, 0, 0);
        expContent.add(textArea, 0, 1);
        return expContent;
    }
View Code

 

转载于:https://www.cnblogs.com/mmzhang/p/8892039.html

你可能感兴趣的:(javafx弹窗显示错误堆栈)