我正在尝试从软件包中的src /文件夹中获取图像,但是没有成功。
nekoPics[i] = tk.getImage(getClass().getResource(String.format("resources/pracs/neko/%s", nekosrc[i])));
有人建议吗?
是否将其复制到构建代码的任何地方?作为一个在src
目录没有帮助,如果在执行时类是在bin
目录(或jar文件)。
另请注意,如果您的课程在一个包中,则Class.getResource
默认情况下它将相对于该包起作用。因此,如果您的包是foo.bar,它将在寻找foo/bar/resources/pracs/neko/whatever
。如果要使其绝对,则可以使用ClassLoader.getResource
,也可以/
在字符串的开头放置前导:
String resource = String.format("/resources/pracs/neko/%s", nekosrc[i]);
nekoPics[i] = tk.getImage(getClass().getResource(resource));
要么
String resource = String.format("resources/pracs/neko/%s", nekosrc[i]);
nekoPics[i] = tk.getImage(getClass().getClassLoader().getResource(resource));
当然,如果reousrces
目录 实际上是 相对于您的软件包的,则不应这样做:)
在一个项目中,我有3个src文件夹(src1、src2、src3)。我已经能够通过将文件夹合并到单个src中来编译它。 当我使用helper插件编译它并定义三个src文件夹时,我可以看到78个java文件正在编译,但在最终的包中只包含4个类文件。 “-X”没有用。
我正在从事一个JavaFX8(maven)项目。我想在sources(而不是resources)文件夹中存储一个fxml文件 当我将fxml存储到location/src/main/resources/views/b/MyFxml时。fxml我使用命令加载它时没有错误, 有没有办法从/src/main/java/package/name/RoleView加载我的fxml文件。fxml位置?
我是Java新手,我正在尝试从读取文件。我编写了以下函数来读取文件,到目前为止,我可以从 但这会引发空指针异常,如返回null。经过一些研究,我试着使用,但它也会为我抛出相同的错误。你知道如何解决这个问题吗?
我正在处理一个JavaFX8(maven)项目。我想在sources(而不是resources)文件夹中存储fxml文件。 当我将fxml存储到位置/src/main/resources/views/b/myfxml.fxml时, 有没有办法从/src/main/java/package/name/roleview.fxml位置加载我的fxml文件?
问题内容: 我想知道我怎么可以将文件加载从文件夹到我的close方法。到目前为止的代码: 启动时控制台错误输出: 问题答案: 如果您想从jar文件中加载文件(例如,从classpath加载),请参阅此答案以获取有关如何获取的更多选项。在下面的代码中,我没有进行任何异常处理,并删除了您的相关代码。 编辑: 似乎您在文件夹结构上做错了什么,或者您使用了错误的包/文件名。只是要清楚。目前,您似乎在一个程
有没有办法说服Gradle接受文件夹中的资源文件(如XML文件)? 这将是伟大的,因为我需要把我的JavaFXXML文件放在那里。。。