Bil*_*Dja 22 java javafx intellij-idea fxml
我正在使用IntelliJ IDEA 13.1.5,我曾经使用Eclipse.我正在研究JavaFX应用程序,我尝试使用getClass().getResource()在我的MainApp类中加载FXML文件.我阅读了文档并尝试了几个想法,最后我得到了null.
这是层次结构:
dz.bilaldjago.homekode.MainApp.java
dz.bilaldjago.homekode.view.RootLayout.FXML
这是我使用的代码片段:
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("view/RootLayout.fxml"));
Run Code Online (Sandbox Code Playgroud)
我尝试了其他解决方案,例如从root用户提供url并使用classLoader
结果是一样的.请问任何想法
Mew*_*ewX 19
我通过指出resource rootIDEA 解决了这个问题.
Right click在目录(或只是项目名称) - > Mark directory As- > Resource Root.
重新编译和欢欣:P希望这对你有用〜
sta*_*cky 16
对于那些使用Intellij Idea的人:检查Settings -> Compiler -> Resource patterns.
该设置包含应解释为资源的所有扩展.如果扩展不符合此处的任何模式,则class.getResource将使用此扩展为资源返回null.
小智 14
将您的资源放在resources文件夹中。
在它们的名字前加上一个斜线使用它们: getClass().getResource("/myfont.ttf");
如果您正在使用Intellij IDEA并创建了一个Maven项目,您应该将您的资源放在resources文件夹中(由 intellij 本身标记为资源根目录),这些资源转到您编译的应用程序的根目录。
我的意思是,/resources/myfont.ttf将转到/myfont.ttf生成的构建中。
所以你应该通过/myfont.ttf而不是myfont.ttf. 像这样使用它:
getClass().getResource("/myfont.ttf");
Run Code Online (Sandbox Code Playgroud)
无需更改任何其他内容。只是这个帮助了我。
| 归档时间: |
|
| 查看次数: |
18289 次 |
| 最近记录: |