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">