JavaFX:DialogPane将不显示背景图像

时间:2019-11-22 14:53:10

标签: java css javafx

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。我已经做过的事情:

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

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

1 个答案:

答案 0 :(得分:2)

您需要将css文件链接到您的fxml,例如:

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