JavaFX를 사용하고 CSS 파일을 내 장면으로로드하려고합니다.클래스 경로 외부의 디렉토리에서 리소스를로드 할 때 NPE
scene.getStyleSheets().add(Main.class.getResource("res/application.css").toExternalForm();
NPE를 throw합니다. 나는 css 파일이 classpath 안에 있지 않기 때문에 그렇게 생각하고있다.하지만이 방법으로로드하는 방법을 모르겠다. 필자는 패키지 파일 (com.somecompany.package)에 css 파일을 포함하고 싶지 않습니다. 사용자가 원하는대로 수정할 수 있도록 자체 디렉토리에 배포 할 수있는 별도의 디렉토리에 포함하는 것이 좋습니다.
클래스 패스 외부에서 CSS 파일 (또는 관련 리소스)을로드하려면 어떻게해야합니까?
내 스택 추적 :java.lang.NullPointerException
at com.somecompany.someapp.Main.start(Main.java:30)
at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:206)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
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)
at java.lang.Thread.run(Unknown Source)
파일을 찾을 수없는 경우 FileNotFoundException이 발생합니다 ... NPE의 스택 추적을 붙여 넣을 수 있습니까? –
@GV'Class # getResource()'는 자원을 찾지 못하면'null'을 반환합니다. –
스택 추적을 추가했습니다. Main.class의 30 행은 위의 행입니다. @SotiriosDelimanolis는 맞습니다. 찾을 수 없기 때문에 npe입니다. 나는 그것을 찾을 수 있도록 잘 모르겠다 비록 – SnakeDoc