0

我正在 NetBeans 上用 JavaFX2 制作一个文本编辑器应用程序。我的问题是:每当我尝试插入行scene.getStylesheets().add(<classname>.class.getResource("<css file>.css").toExternalForm());以链接 css 并运行它时,它都会显示错误:“运行应用程序时出现异常”
这个异常到底是什么?我试过删除这条线,然后应用程序运行顺利。就在五六个小时前,我插入了同一行代码(带有正确的类和 css 文件),它很容易使用 css。但是现在,我创建了另外 3 个项目来检查它,但应用程序显示相同的错误并在删除此代码时被删除。我通过右键单击 Source-packages 图标 > 新建 > 级联样式表来创建 Css。我为 css 文件填写了所有正确的类和位置,但是发生了这种情况。还尝试了 Shift + F11 (清理和重建)。当我启动较旧的应用程序(使用 css)时,它运行时没有错误。(顺便说一句,我使用 Win8 Pro x64,如果你需要它)
输出面板停在Executing com.javafx.main.Main from <location>\Qwerty.jar using platform C:\Program Files\Java\jdk1.7.0_17/bin/java然后显示错误:

Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.javafx.main.Main.launchApp(Main.java:642)
    at com.javafx.main.Main.main(Main.java:805)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)
    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(Thread.java:722)
Caused by: java.lang.NullPointerException
    at qwerty.Qwerty.start(Qwerty.java:36) (LINE 36 is where the reference to css is)
    at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
    at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:215)
    at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:179)
    at com.sun.javafx.application.PlatformImpl$4$1.run(PlatformImpl.java:176)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:176)
    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$3$1.run(WinApplication.java:73)
    ... 1 more
Java Result: 1
4

1 回答 1

1

该问题在嵌套的 excpetion 中进行了解释:

原因:qwerty.Qwerty.start(Qwerty.java:36) 处的 java.lang.NullPointerException (第 36 行是对 css 的引用)

检查是否<classname>.class.getResource("<css file>.css")为空。也许您指定了错误的路径或者 css 不在 jar 中?

于 2013-04-19T16:20:49.563 回答