dialogPane的fxml文件

<DialogPane  xmlns:fx="http://javafx.com/fxml"
            fx:controller="ToDoListMatt.ErrorDialogController" >

    <content>
        <GridPane fx:id="ErrorDialogPane" prefWidth="300" prefHeight="200" alignment="CENTER" hgap="10" vgap="10" >

            <TextField fx:id="errorTextArea"  prefHeight="10" prefWidth="150" style="-fx-background-color:red"/>
        </GridPane>
    </content>


</DialogPane>


我的功能DialogPane将在哪里弹出

 public static void showAlert(String errorType) {
    try {
        try {
            Dialog<ButtonType> dialog = new Dialog<>();

         dialog.initOwner(DialogController.dialogBG.getScene().getWindow());
    dialog.setTitle("Ooopsie");
    FXMLLoader fxmlLoader = new FXMLLoader();


            dialog.getDialogPane().setContent(fxmlLoader.load());
            dialog.getDialogPane().getButtonTypes().add(ButtonType.OK);
            dialog.show();
        } catch (IOException e) {

            e.printStackTrace();
        }
    }catch (NullPointerException e){

    }


}
}


我的CSS代码

#ErrorDialogPane{
-fx-background-image: url("Image2.gif");

}


基本上,由于自定义,我使用了DialogBox来替代Alert。我已经做过的事情:


我已经仔细检查了将要使用的图像的URL。该路径是正确的,因为我尝试通过使用图像的相同路径来更改.root(主窗口)背景。
我不确定initOwner的作用。这会影响吗?


我可以将程序发送给您仔细检查。我正在创建一个ToDoApp。

最佳答案

您需要像这样将css文件链接到fxml:

<DialogPane  xmlns:fx="http://javafx.com/fxml"
                fx:controller="ToDoListMatt.ErrorDialogController"
                stylesheets="@yourCssCode.css">

09-27 09:57