gpt4 book ai didi

java - 从不同包中的类加载包内的 Java 图像

转载 作者:太空狗 更新时间:2023-10-29 23:04:22 25 4
gpt4 key购买 nike

我有一个名为 MyProject 的 Java 项目。我有几个不同的包(为了这个问题的目的保持名称简单),如下所示:

src/PackageA
src/PackageA/PackageAa
src/PackageA/PackageAa/PackageAaa
src/PackageB
src/PackageB/PackageBa
src/PackageB/PackageBa/PackageBaa

我有课

src/PackageA/PackageAa/PackageAaa/MyJavaFile.java

我有一张图片

src/PackageB/PackageBa/PackageBaa/MyImage.png

MyJavaFile.java 中,我想声明一个 MyImage.png 的图像对象

Image img = new Image(....what goes here?...)

我该怎么做?

最佳答案

您可以调用 Class.getResource 并指定以 / 开头的路径,或者 ClassLoader.getResource 而不必理会 /:

URL resource = MyJavaFile.class
.getResource("/PackageB/PackageBa/PackageBaa/MyImage.png");

或:

URL resource = MyJavaFile.class.getClassLoader()
.getResource("PackageB/PackageBa/PackageBaa/MyImage.png");

基本上 Class.getResource 将允许您指定与类相关的资源,但我不认为它允许您使用“..”等目录导航。

当然,如果你知道正确包中的类,你可以使用:

URL resource = SomeClassInPackageBaa.class.getResource("MyImage.png");

(我假设您可以将 URL 传递给相关的 Image 构造函数。Class 上还有 getResourceAsStream ClassLoader。)

关于java - 从不同包中的类加载包内的 Java 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com