gpt4 book ai didi

JavaFX CSS URL 未加载

转载 作者:行者123 更新时间:2023-11-29 03:19:33 25 4
gpt4 key购买 nike

我正在尝试加载一个 XML 资源,我是这样做的:

fxmlLoader = new FXMLLoader();
root = fxmlLoader.load(getClass().getResource("Document.fxml").openStream());

当我运行我的代码时,我得到了这个错误:

null/../css/button.css
javafx.fxml.LoadException:
unknown path:23

当我查看第 23 行时,我有这个:

<URL value="@../css/button.css" />

这个有效:

fxmlLoader = new FXMLLoader();
root = fxmlLoader.load(getClass().getResource("Document.fxml"));

但是当我运行以下命令时

controller = (DocumentController)fxmlLoader.getController();

controllernull

如何解决 CSS 问题?

最佳答案

这是一个猜测,但我认为问题在于您向 FXMLLoader 而不是 URL 提供输入流。因此,FXMLLoader 不知道 FXML 资源的位置,因此它无法解析 URL 中的 ..标签。这将解释错误消息:

null/../css/button.css

javafx.fxml.LoadException:

unknown path:23

您提供的路径是相对于 null 的,因为 FXMLLoader 不知道 FXML 文件的位置;还要注意它报告“未知路径”作为 FXML 的来源。

试试这个(无论如何这更常见)

fxmlLoader = new FXMLLoader(getClass().getResource("Document.fxml"));
root = fxmlLoader.load();

我认为它为 Controller 返回 null 只是因为加载 fxml 时出错。

关于JavaFX CSS URL 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com