gpt4 book ai didi

JavaFX 8 : Adding a Custom CSS File Via class. getResource() 错误

转载 作者:行者123 更新时间:2023-11-29 04:44:38 25 4
gpt4 key购买 nike

我正在处理 official JavaFX tutorial .我正在尝试将示例 5-1 中的代码添加到我的场景中,根据说明,它是“Main”类的一部分:

Scene scene = new Scene(grid, 300, 275);
primaryStage.setScene(scene);
scene.getStylesheets().add(Login.class.getResource("Login.css").toExternalForm());
primaryStage.show();

我使用的是 JavaFX 运行时版本 8.0.72-b15 和 IntelliJ IDEA 15.0.5。我已将“Login.css”文件存储在文件夹中:

C:\Users\XXXXXXXX\IdeaProjects\Login\src

我的项目文件结构如下:

  • 登录
    • .想法
    • 出去
    • 来源
      • sample
        • Controller .java
        • 主程序.java
        • 示例.fxml
      • 背景.jpg
      • 登录.css

当我运行“Main”时,我收到以下错误消息:

Information:Using javac 1.8.0_77 to compile java sources
Information:java: Errors occurred while compiling module 'Login'
Information:6/9/2016 2:04 PM - Compilation completed with 1 error and 0 warnings in 571ms
C:\Users\XXXXXXXX\IdeaProjects\Login\src\sample\Main.java
Error:(69, 36) java: cannot find symbol
symbol: class Login
location: class sample.Main

This answer似乎暗示自定义 CSS 文件应位于“src”文件夹下,但它似乎对我不起作用。如何让我的 JavaFX 项目导入这个自定义 CSS 文件?

最佳答案

您没有登录类...您只有一个 sample.Main 类,因此代码中的 Login.class 引用不会解析(该错误与 CSS 无关)。

修复类引用错误后,您还需要修复对 css 文件位置的引用(因为您的 Login.css 文件不在示例包中,而是在源代码中root,所以它最终会被复制到类路径的根目录中)。要引用类路径根目录中的资源,请在资源名称前加上 /,即 /Login.css

因此,在进行这些更改之后,您将获得以下代码(您已在之前的评论中验证过该代码有效):

scene.getStylesheets().add(sample.Main.class.getResource("/Login.css").toExtern‌​alForm());

关于JavaFX 8 : Adding a Custom CSS File Via class. getResource() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37733289/

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