JavaFX的2 - 不容进口.css文件(JavaFX 2 - Can´t import .cs

2019-10-16 18:54发布

I'm currentl试图进入的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

我倒是得到任何帮助,我不能得到它的工作,不使用绝对路径,也没有相对的像本例中所示。

Answer 1:

检查您的Eclipse项目的编译输出路径,并确保loginform.css是在同一个目录中Login.class

从来就通过将样式表到我的src文件夹不是一个非常好的解决方案,但通过../formm.css拔地而起解决了这个问题doesn't似乎说不上为什么工作

您请求通过CSS文件class.getResource方法,它会寻找在同一位置类所在的资源。 当你把你的src文件夹的样式,那么无论构建系统使用的是被复制在生成过程中的样式表的同一目录中Login.class。 当你不把它在src文件夹,然后拷贝不存在的。

如果你不想在CSS文件放在同一个目录中的Java源代码,然后或者设置你的编译系统了,从另一个目录跨复制或者不使用的类加载器机制,当您添加一个样式表,例如使用一个绝对的文件或HTTP URL或者基于文件的URL 使用user.dir系统属性 (当前工作目录)来代替。

真的不过,只是将留在src文件夹的样式和你正在做的方式访问它是好的,当你部署应用到不同的环境也使得资源位置容易。



Answer 2:

如果你使用任何作为一种资源,你有前缀的它取名为“/”和资源必须在classpath。

我有一个目录,例如资源,其中包含的CSS设置。 然后,我用这个:

scene.getStylesheets().add(Login.class.getResource("/loginform.css").toExternalForm());

目录“资源”包含.css文件添加到类路径(在Eclipse中,例如,只要它是一个源文件夹)。

然而遗憾的是,该例外是完全无用; 我注意到的CSS是问题时,我说这是第一次。



文章来源: JavaFX 2 - Can´t import .css File