JavaFX 2 - 无法导入 .css 文件

标签 java css import nullpointerexception javafx-2

我目前正在尝试进入 JavaFX 2.0,但我无法让 .css 样式表在我的应用程序中工作。我遵循了 http://docs.oracle.com/javafx/2/get_started/css.htm#BABBGJBI 上的指南但每当我尝试通过

导入 .css 文件时
        scene.getStylesheets().add(Login.class.getResource("loginform.css").toExternalForm());

我收到以下错误:

    Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:399)
    at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
    at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at Login.start(Login.java:68)
    at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:315)
    at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:174)
    at com.sun.javafx.application.PlatformImpl$3.run(PlatformImpl.java:141)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
    at com.sun.glass.ui.win.WinApplication$2$1.run(WinApplication.java:62)
    ... 1 more

css路径位于我的eclipse元素路径中: C:\Users\UserName\Dropbox\Documents\Eclipse\FirstExamples\loginform.css

我很感激任何帮助,我无法让它工作,不是绝对路径,也不是示例中所示的相对路径。

最佳答案

检查你的eclipse元素编译后的输出路径,确保loginform.css和Login.class在同一个目录

I´ve solved the problem by putting stylesheets into my src folder not a very nice solution but going up by ../formm.css doesn´t seem to work dunno why

您正在通过 class.getResource 请求 css 文件方法,它将在类所在的相同位置查找资源。当您将样式表放在 src 文件夹中时,无论您使用什么构建系统,都会在构建过程中将样式表复制到与 Login.class 相同的目录中。如果您不将其放在该 src 文件夹中,则不会发生复制。

如果您不想将 css 文件放在与您的 Java 源代码相同的目录中,那么要么将您的构建系统设置为从另一个目录复制它,要么在添加样式表时不要使用类加载器机制,例如使用绝对文件或 http url 或基于 user.dir system property 的文件 url (当前工作目录)代替。

不过,实际上,只需将样式表放在 src 文件夹中并以您正在做的方式访问它就可以了,而且当您将应用程序部署到不同环境时,它还可以简化资源定位。

关于JavaFX 2 - 无法导入 .css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859920/

相关文章:

android - 如何让我的按钮在所有媒体设备上正确显示?

javascript - Chrome 和 Firefox 列表样式图像

python - 使用通用导入方法定义子类

javascript - import & export 关键字是 webpack 还是 JS 语言的一部分?

java - 用Swing画图 : general approach

javascript - 如何在数据表中显示 Bootstrap 选择组合框?

java - 使用 Selenium WebDriver 测试元素是否存在?

r - 如何将最新的 csv 文件导入 RStudio

java - 递归计算数组的标准差

java - 多线程 Java - 从 Web 应用程序暂停长时间运行的任务